2012-11-15 2 views
1

Google 응용 프로그램에서 Google지도 API를 사용합니다. 그것은 내가 이클립스에서 설치 한 경우 잘 작동하지만 난 그에서 APK 수출하고 설치할 때이 오류내 보낸 apk에서 설치할 때 maps.jar 파일에 오류가 발생하여 응용 프로그램이 다운되고

11-15 16:30:29.692: E/AndroidRuntime(14405): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mycom.myapp/com.mycom.myapp.MainActivity}: java.lang.ClassNotFoundException: com.mycom.myapp.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/mnt/aseccom.mycom.myapp-1/pkg.apk] 


    11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread.access$1500(ActivityThread.java:135) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.os.Looper.loop(Looper.java:150) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread.main(ActivityThread.java:4389) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at java.lang.reflect.Method.invokeNative(Native Method) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at java.lang.reflect.Method.invoke(Method.java:507) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at dalvik.system.NativeStart.main(Native Method) 
11-16 01:47:41.999: E/AndroidRuntime(19577): Caused by: java.lang.ClassNotFoundException: com.mycom.myapp.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/mnt/asec/com.mycom.myapp-1/pkg.apk] 
11-16 01:47:41.999: E/AndroidRuntime(19577): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.Instrumentation.newActivity(Instrumentation.java:1040) 
11-16 01:47:41.999: E/AndroidRuntime(19577): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777) 
11-16 01:47:42.009: E/EmbeddedLogger(183): App crashed! Process: com.mycom.myapp 
11-16 01:47:42.009: E/EmbeddedLogger(183): App crashed! Package: com.mycom.myapp v1 (1.0) 
11-16 01:47:42.009: E/EmbeddedLogger(183): Error getting package label: com.mycom.myapp 
11-16 01:47:42.009: E/EmbeddedLogger(183): java.lang.NullPointerException 
11-16 01:47:42.009: E/EmbeddedLogger(183): at com.htc.server.embedded.EmbeddedLogger.onHandleApplicationCrash(EmbeddedLogger.java:59) 
11-16 01:47:42.009: E/EmbeddedLogger(183): at com.android.server.am.ActivityManagerService.handleApplicationCrash(ActivityManagerService.java:7739) 
11-16 01:47:42.009: E/EmbeddedLogger(183): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1033) 
11-16 01:47:42.009: E/EmbeddedLogger(183): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1657) 
11-16 01:47:42.009: E/EmbeddedLogger(183): at android.os.Binder.execTransact(Binder.java:320) 
11-16 01:47:42.009: E/EmbeddedLogger(183): at dalvik.system.NativeStart.run(Native Method) 
11-16 01:47:42.009: E/EmbeddedLogger(183): Application Label: <ERROR> 

수있는 한 도움을 응용 프로그램이 충돌을 APK 및보고?

+0

제공 한 것 아래에 더 많은 스택 추적 줄을 제공하십시오. – Snicolas

+0

나는 그것을 추가했다. 고맙습니다. – MSaudi

답변

1

Eclipse에서 서명 된 apk를 내보낼 때 종종 발생합니다. 문제의 근본 원인을 찾지 못했지만, 해결 방법은 apk를 다시 내보내고 테스트 용 장치에 설치하는 것입니다. 나는 apk가 괜찮은 시간의 3/4 정도를 추정 할 것이고 나머지는 앱을 열려고 시도하자마자 즉시 멈출 것이다.

1

@David Currie가 설명하는 것을 관찰 할 수 없습니다. 같은 방식으로 exclipse 작업을 통해 내보내거나 컴파일하여 하나가 작동하면 다른 하나도 작동합니다.

당신이 스택 트레이스를 보면

, 그것은 클래스 로더에 있어야 두 개의 파일이 언급 :

  • /system/framework/com.google.android.maps.jar을
  • 을/mnt/aseccom.mycom.myapp-1/pkg.apk

해당 파일이 있습니까? 두 번째 확장은 무엇입니까? 그 이름은 이상합니다. "-1.pkg.apk"로 끝납니다. 먼저 조사해야합니다. 또한 도구 dexdump을 사용하여 com.mycom.myapp.MainActivity 클래스가 apk 파일 내에 있는지 확인할 수 있습니다.

릴리스 apk 내의 dex 파일에 com.mycom.myapp.MainActivity에 대해 "클래스 설명자"가 포함 된 행이 있는지 확인하십시오.