3

admob を使用して市場に出回っているアプリがあり、アプリを更新したいと考えています。この新しいバージョンをテストすると、admob が原因で Fatal Exception が発生します。

04-06 15:09:04.123: E/AndroidRuntime(409): Caused by: android.view.InflateException: Binary XML file line #51: Error inflating class com.google.ads.AdView


04-06 15:09:04.123: E/AndroidRuntime(409): Caused by: java.lang.ClassNotFoundException: com.google.ads.AdView in loader dalvik.system.PathClassLoader[/data/app/com.kmbdev.purrkitty-2.apk]

行番号 51 の xml ファイルを次に示します。

  <com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/bottom_border"
    android:layout_toLeftOf="@id/right_border"
    ads:adSize="BANNER"
    ads:adUnitId="my id"
    ads:loadAdOnCreate="true" />

公開されている元のアプリから大きな変更を加えていません。スプラッシュ スクリーンといくつかの言語文字列ファイルを追加しただけで、バージョンを 1.2 に変更しました。公開されたアプリはバージョン 1.1 です。なぜこのアプリが動かなくなったのだろうと思っていました。

もう一度試しましたが、ログは次のとおりです。

04-11 12:13:21.474: D/AndroidRuntime(282): Shutting down VM
04-11 12:13:21.474: W/dalvikvm(282): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-11 12:13:21.644: E/AndroidRuntime(282): FATAL EXCEPTION: main
04-11 12:13:21.644: E/AndroidRuntime(282): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kmbdev.purrkitty/com.kmbdev.purrkitty.Cat1}: android.view.InflateException: Binary XML file line #52: Error inflating class com.google.ads.AdView
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.os.Looper.loop(Looper.java:123)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread.main(ActivityThread.java:4627)
04-11 12:13:21.644: E/AndroidRuntime(282):  at java.lang.reflect.Method.invokeNative(Native Method)
04-11 12:13:21.644: E/AndroidRuntime(282):  at java.lang.reflect.Method.invoke(Method.java:521)
04-11 12:13:21.644: E/AndroidRuntime(282):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-11 12:13:21.644: E/AndroidRuntime(282):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-11 12:13:21.644: E/AndroidRuntime(282):  at dalvik.system.NativeStart.main(Native Method)
04-11 12:13:21.644: E/AndroidRuntime(282): Caused by: android.view.InflateException: Binary XML file line #52: Error inflating class com.google.ads.AdView
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
04-11 12:13:21.644: E/AndroidRuntime(282):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.Activity.setContentView(Activity.java:1647)
04-11 12:13:21.644: E/AndroidRuntime(282):  at com.kmbdev.purrkitty.Cat1.onCreate(Cat1.java:25)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-11 12:13:21.644: E/AndroidRuntime(282):  ... 11 more
04-11 12:13:21.644: E/AndroidRuntime(282): Caused by: java.lang.ClassNotFoundException: com.google.ads.AdView in loader dalvik.system.PathClassLoader[/data/app/com.kmbdev.purrkitty-2.apk]
04-11 12:13:21.644: E/AndroidRuntime(282):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
04-11 12:13:21.644: E/AndroidRuntime(282):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
04-11 12:13:21.644: E/AndroidRuntime(282):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.createView(LayoutInflater.java:466)
04-11 12:13:21.644: E/AndroidRuntime(282):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
04-11 12:13:21.644: E/AndroidRuntime(282):  ... 20 more
4

5 に答える 5

4

私は同じ問題を抱えており、それを理解するために3時間以上無駄にしました. 最後に、私はそれを機能させる方法を見つけました。

  1. SDK 名を GoogleAdMobAdsSdk-6.0.0.jar から GoogleAdMobAdsSdk.jar に変更します
  2. プロジェクトの下に「libs」フォルダーを作成し、フォルダー内の sdk の上にコピーし、Add External JARs を使用してライブラリをリンクします。
  3. 機能しない場合は、インポート クラス名を com.google.ads.* から com.google.ads.AdRequest、comp.google.ads.AdView などに変更します。
于 2012-04-21T23:57:03.550 に答える
0

jar ファイルが保存されているフォルダーの名前を から に変更することで修正しまし/lib/libs

于 2012-08-30T15:10:24.370 に答える
0

マニフェストにすべてのタグが含まれていますか? (admobのもの)。また、XML では、xmlns の addl タグが必要ですよね? 指定しましたか?

于 2012-04-06T15:22:52.440 に答える
0

プロジェクトをクリーンアップします。Eclipse で自動ビルドを有効にしていない場合は、手動ビルドを行います。それが動作します。

于 2012-04-22T17:28:04.693 に答える
0

この問題を解決するには、sdk .jar ファイルを 2 つの方法でリンクするだけです。まず、libs フォルダーに追加し (ない場合は作成します)、.jar ファイルを右クリックし、[ビルド パス] -> [ビルド パスに追加...] に移動します。 .

于 2012-04-25T14:10:30.983 に答える