2017-10-29 6 views
5

私はプレイヤーが死んだときに、AdMobサービス(プラグイン)を含むUnityゲームを作成しました。エディタでアプリをテストすると、すべてうまく動作します。しかし、私がAPKをアンドロイドの電話にコピーして、プレイヤーが死ぬ場所でゲームをするとクラッシュします。 Logcatを使用して私のデバイスでユニティアプリケーションがクラッシュする

は私がスローされた例外が見つかりました:私は資産を使用してみましたが

10-29 11:46:36.806 29956 29956 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/ads/MobileAds; 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at com.google.unity.ads.RewardBasedVideo$1.run(RewardBasedVideo.java:65) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at android.os.Handler.handleCallback(Handler.java:746) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:95) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at android.os.Looper.loop(Looper.java:148) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5443) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.MobileAds" on path: DexPathList[[zip file "/data/app/com.comp.game-1/base.apk"],nativeLibraryDirectories=[/data/app/com.comp.game-1/lib/arm, /data/app/com.comp.game-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]] 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  ... 8 more 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:  Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.ads.MobileAds 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:    at java.lang.Class.classForName(Native Method) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:    at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:    at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
10-29 11:46:36.806 29956 29956 E AndroidRuntime:    at java.lang.ClassLoader.loadClass(ClassLoader.java:504)10-29 11:46:36.806 29956 29956 E AndroidRuntime:    ... 9 more 

を>サービスリゾルバ> Androidのリゾルバを再生する>クライアントJARを解決します。

ただし、[クライアントJarの解決]オプションは存在しません。だから私はhereからプラグインをインストールしようとしましたが、それが表示されませんでした。

JARリゾルバを使用していない場合は、JARファイルが見つからない場合がありますが、JARリゾルバを使用しない場合は、どのJARファイルを追加するのか分かりません。

ああ、細部に言及する価値がある:私は古いバージョンのツール(tools_r25.2.5)をインストールしなければならなかった。

ありがとうございます。

+0

多分admobのデバッグ中にリリースキーを使用しています –

+0

https://github.com/googleads/googleads-mobile-unity/issues/549 –

+0

ユニティのどのバージョンですか? – Mars

答えて

2

Google Playサービスの競合するバージョンの他の依存関係を使用している可能性は非常に高いです。

、すべての依存関係が同じバージョンに依存していることを確認し

そして、あなたが実装されている他のプラグインは、グーグルの新しいまたは古いバージョンがサービス、またはfirebase、または依存の他のタイプを果たして使用することはいけないことを確認してください2つの異なるバージョンに複数回あります。

幸運

2

再生サービスリゾルバdoestは、ワークスペースにスペースがある場合に機能します。プロジェクトワークスペースからスペースを削除し、JARを強制的に解決します。 その他の問題は、プロジェクトのdependencies.xmlファイルが見つからないことがあります。

関連する問題