2012-04-06 2 views
3

admob을 사용하여 시판중인 앱을 보유하고 있으며 이제 앱을 업데이트하고 싶습니다. 이 새 버전을 테스트 할 때 admob에 의한 치명적인 예외가 발생합니다. 내가 게시 된 원래 응용 프로그램에서 주요 변경하지 않은admob로 인해 치명적인 예외가 발생했습니다

<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" /> 

: 여기

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 파일입니다. 스플래시 화면과 일부 언어 문자열 파일을 추가하고 버전을 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.google.ads.AdView 대신 com.admob.android.ads.AdView를 사용하십시오. –

+0

해결되었거나 오류가 계속 발생합니까? –

+0

여전히 작동하지 않습니다 – kmb

답변

0

당신에게 매니페스트 모든 태그가 확신은? (admob의 그것들). 또한 XML에서 xmlns에 대한 addl 태그가 필요합니까? 그것을 지정 했습니까?

+0

예, 매니페스트를 확인했습니다. 나는 버전을 1.2로 바꾸는 것 외에는 변경하지 않았다. – kmb

+0

Admob jar 파일에 문제가 있습니까? 나중에 jar 파일을 이동해야합니다 (첫 번째 버전을 게시 한 후 언제든지). 너 나 잡았 니? 하지만이 경우 소스 코드에서 오류가 발생해야합니다 (잘못된 것일 수도 있습니다). – nithinreddy

4

나는 같은 문제가있어 그것을 알아 내는데 3 시간 이상을 낭비했다. 마지막으로, 나는 그것을 작동시키는 방법을 발견했다. GoogleAdMobAdsSdk-6.0.0.jar에서

  1. 변경 SDK 이름은
  2. 이 프로젝트에서 "libs와"폴더를 만들고 폴더에 SDK를 복사 Add External JARs를 사용하여 라이브러리를 연결 GoogleAdMobAdsSdk.jar합니다.
  3. 작동하지 않으면 com.google.ads. *에서 com.google.ads.AdRequest, comp.google.ads.AdView로 가져 오기 클래스 이름을 변경하십시오.
+0

정확히 어떻게 라이브러리를 링크합니까? 나는 아직도 문제가있다. sdk의 이름을 변경하고 libs 폴더로 복사했습니다.나는 광고 외부 항아리에 가서 내 컴퓨터에서 파일을 발견. – kmb

+0

여러분 모두에게 감사드립니다. 마침내 제대로 작동했습니다. admob를위한 2 개의 다른 단지가 있었던 방법 약간. 하나는 libs 디렉토리에 있고 다른 하나는 외부 jar 추가를 통해. 어떻게 된 일인지 잘 모르겠다. – kmb

+0

예, 1 단계와 2 단계를 수행하면서 문제를 해결했습니다.하지만 2 단계에서 ** libs **에 복사/붙여 넣기를 사용하여 'GoogleAdMobAdsSdk.jar'만 복사합니다. ** libs **의 "Add External JARs"를 사용하여 정확히 어떻게 링크합니까? ProjectName-> Properties-> Java BuildPath'에서이 작업을 수행했습니다. – AlexAndro

0

프로젝트를 정리하고 Eclipse에서 자동 빌드를 활성화하지 않은 경우 수동 빌드를 만드십시오. 효과가있을 것입니다.

0

이 문제를 해결하려면 두 가지 방법으로 sdk .jar 파일을 연결하면됩니다. 먼저 libs 폴더에 추가하고 (생성하지 않은 경우), .jar 파일을 마우스 오른쪽 버튼으로 클릭하고 빌드 경로 -> 빌드 경로에 추가 ... 3 일간의 결론 .

0

jar 파일을 보관하는 폴더의 이름을 /lib에서 /libs으로 변경하여 해결했습니다.