2017-04-10 4 views
4

Localytics SDKを(Xamarin component経由で)XamarinのAndroidアプリに統合しようとしています。それは私がそれその後、リリースビルドにコンパイルのエラーを切り替えるがあれば、デバッグモードでコンパイルされます。サマーパーティXamarinコンポーネントを使用している場合、Xamarinアプリはリリースモードではなくデバッグモードでのみコンパイルします。

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Error executing task LinkAssemblies: error XA2006: Could not resolve reference to 'Android.Gms.Gcm.Iid.InstanceIDListenerService' (defined in assembly 'LocalyticsXamarin.Android, Version=4.2.0.29760, Culture=neutral, PublicKeyToken=null') with scope 'Xamarin.GooglePlayServices.Gcm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. When the scope is different from the defining assembly, it usually means that the type is forwarded. (com.rpr.mobile.droid)

私はそれがうまくコンパイル、リンクしないでくださいへのリンクSDKアセンブリからリンカの動作を切り替える場合は、しかし、このapkが大きすぎるため、オプションではありません。 Link SDKアセンブリのみに戻って、 "LocalyticsXamarin.Android"をIgnore assembliesリストに追加しても、同じコンパイルエラーが発生します。

このエラーは、自分のアプリとLocalytics Xamarinラッパーの間でGoogle Playサービスのバージョンが一致しないことを意味するようですが、最新のバージョン(42.1001.0)を使用するラッパーの最新バージョンを私に送って確認しましたそれは私たちのアプリと一致します。さらに、独自のサンプルAndroidプロジェクトがうまくコンパイルされます。サンプルのAndroidプロジェクトのすべての設定を徹底的に調べて、それを私のものと一致するように変更しましたが、それでもコンパイルはできません。ここで

は私のAndroidのプロジェクトにpackages.configさ:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="modernhttpclient" version="2.4.2" targetFramework="MonoAndroid60" /> 
    <package id="Newtonsoft.Json" version="9.0.1" targetFramework="MonoAndroid60" /> 
    <package id="Rx-Core" version="2.2.5" targetFramework="monoandroid70" /> 
    <package id="Rx-Interfaces" version="2.2.5" targetFramework="monoandroid70" /> 
    <package id="Rx-Linq" version="2.2.5" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Compat" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Core.UI" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Core.Utils" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Fragment" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Media.Compat" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v13" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v4" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v7.AppCompat" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Vector.Drawable" version="25.1.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Build.Download" version="0.4.3" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Firebase.Analytics" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Firebase.Analytics.Impl" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Firebase.Common" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Firebase.Iid" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Analytics" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Analytics.Impl" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Base" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Basement" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Gcm" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Iid" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Location" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Maps" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.TagManager.V4.Impl" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Tasks" version="42.1001.0" targetFramework="monoandroid70" /> 
</packages> 

そして、ここでは作品サンプルLocalyticsプロジェクトのpackages.configさ:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Xamarin.Android.Support.Compat" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Core.UI" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Core.Utils" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Design" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Fragment" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Media.Compat" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Transition" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v4" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v7.AppCompat" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v7.CardView" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v7.MediaRouter" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v7.Palette" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Android.Support.Vector.Drawable" version="25.1.1" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Build.Download" version="0.4.3" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.Forms" version="2.3.3.193" targetFramework="MonoAndroid70" /> 
    <package id="Xamarin.GooglePlayServices.Base" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Basement" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Clearcut" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Gass" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Gcm" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Iid" version="42.1001.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Tasks" version="42.1001.0" targetFramework="monoandroid70" /> 
</packages> 

を問題を再現するには...

HereはLocalytics SDK Xamarinラッパーの最新コードです。これは正常に機能します。 Xamarinコンポーネントを使用して.xamファイルを取り出し、Xamarin Studioにインストールすることをお勧めします。

HereはAndroidプロジェクトコードのスリムなバージョンです。

私のプロジェクトのサイズについてお詫び申し上げますが、すべてのコードとリソースを削除しましたが、問題に関連しているので削除したくなかったコンポーネントとパッケージのためにまだ大きくなっています。 RPR Mobile - Android.slnソリューションを開き、Release-Prodに変更してからビルドしようとすると、エラーが表示されます。

アイデア?

+0

ここにはいくつかの問題があると思います。 1.プロジェクトのとは何ですか?それは最新かつ最高ですか?もしそうでなければ、そうでなければなりません。 2.このタイプがリンクされていることを暗示しています。あなたは 'Xamarin.GooglePlayServices.Iid'をスキップしてリンクを試すことができますか?調べるのを助けるために、 'packages.config' /他のライブラリとそのバージョンを追加して、あなたのプロジェクトに何が入っているのかを簡単に確認できますか?同じライブラリを使ってサンプルアプリケーションを作成してアップロードすることができれば、それも役立ちます! –

+0

@JonDouglasターゲットバージョンはAndroid 7.1(APIレベル25)です。私はリンクをXamarin.GooglePlayServices.Iidをスキップしてみましたが、それでも同じエラーが発生しました。 packages.configを使用して質問を更新しましょう... – Justin

+0

エラーメッセージで、両方ともGcmバージョン42を使用している場合、Xamarin.GooglePlayServices.Gcm、バージョン= 1.0.0.0といつ呼ばれますか?1001.0?それはちょうど悪いエラーメッセージですか、これが原因かもしれませんか? – Justin

答えて

5

このPATCHEDバージョンのコンポーネントには、Xamarin.GooglePlayServices.Iidなどの必要な参照を含むように更新されていないようです。

ほとんどの場合、このコンポーネントをリメイクするか、ベンダーに依頼する必要があります。あなたのプロジェクトに最後に.dllが追加されているかどうかに関して、ここにキャッシングの問題があるようです。

+0

いくつかの短い明確な手順を示すことができますか? –

+0

内部にステップがあるのでコメントを読んでください。 –

関連する問題