2012-04-06 2 views
3

У меня есть приложение на рынке, используя admob, и теперь я хотел бы обновить свое приложение. Когда я тестирую эту новую версию, я получаю фатальное исключение, вызванное admob.получение Fatal Exception, вызванное admob

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] 

Вот файл XML с линии # 51:

<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 
+0

использовать 'com.admob.android.ads.AdView' вместо' com.google.ads.AdView' –

+0

решена или нет, вы все еще получаете ошибку? –

+0

Он все еще не работает – kmb

ответ

0

Вы уверены, что манифест имеет все теги? (Приветствия). Кроме того, в XML вам нужно иметь тег addl для xmlns правильно? Вы указали это?

+0

Да, я проверил манифест. Я не внес никаких изменений в него, кроме изменения версии до версии 1.2. – kmb

+0

Может быть, проблема с файлом-банком Admob? Вы должны перенести файл jar позже (в любое время после публикации первой версии). Вы меня поняли? Но в этом случае вы также должны получать ошибки в исходном коде (возможно, я ошибаюсь) – nithinreddy

4

У меня такая же проблема и потрачено больше 3 часов, чтобы понять это. Наконец, я нашел способ заставить его работать.

  1. изменить название от GoogleAdMobAdsSdk SDK-6.0.0.jar в GoogleAdMobAdsSdk.jar
  2. создать "LIBS" папку в рамках проекта, скопировать выше SDK в папке и связать библиотеку с помощью Add External JARs.
  3. Если не работает, измените имя класса импорта из com.google.ads. * В com.google.ads.AdRequest, comp.google.ads.AdView и т. Д.
+0

Как именно вы связываете библиотеку. У меня все еще проблемы. Я изменил имя sdk и скопировал его в папку libs.Я попал под рекламные внешние банки и нашел файл на своем компьютере. – kmb

+0

Спасибо всем за ваши идеи. Я, наконец, начал работать. Некоторые, как было 2 разных баночки для admob. 1 в каталоге libs, а другой - через добавочный внешний баннер. Не знаю, как это произошло. – kmb

+0

Да, я решил проблему, выполняя шаги 1 и 2. Но на шаге 2 я просто копирую «GoogleAdMobAdsSdk.jar» с помощью «Копировать/Вставить» в ** libs **. Как именно вы «связываете библиотеку с помощью добавления внешних JAR» в ** libs **? Я сделал это в «ProjectName-> Properties-> Java BuildPath' – AlexAndro

0

Очистите проект, и если вы не активировали автоматическую сборку в Eclipse, выполните сборку вручную. Это будет работать.

0

Чтобы устранить эту проблему, вам просто нужно связать файл sdk .jar двумя способами. Во-первых, чтобы добавить его в папку libs (если у вас его нет, создайте его), а затем щелкните правой кнопкой мыши на .jar-файле, перейдите в «Путь сборки» -> «Добавить в путь сборки» ... Три дня до этого вывода ,

0

Я исправил его, переименовав папку, в которой хранится файл jar, от /lib до /libs.