Android 签署的APK有时有效,有时无效';T
将ADT更新到22.3后,有时可以对APK进行签名,但在测试时抛出Android 签署的APK有时有效,有时无效';T,android,eclipse,adt,apk,eclipse-adt,Android,Eclipse,Adt,Apk,Eclipse Adt,将ADT更新到22.3后,有时可以对APK进行签名,但在测试时抛出ClassNotFoundException,如下所示(它似乎总是影响类扩展应用程序): 遇到这种情况时,生成另一个已签名的APK通常可以解决问题,然后可以在运行时安装APK而不会出现问题。两个已签名的APK版本之间没有代码更改,并且项目不需要清理,创建“正确”已签名的APK所需的只是导出一个已签名的APK(righ click project->Android Tools->export signed application p
ClassNotFoundException
,如下所示(它似乎总是影响类扩展应用程序
):
遇到这种情况时,生成另一个已签名的APK通常可以解决问题,然后可以在运行时安装APK而不会出现问题。两个已签名的APK版本之间没有代码更改,并且项目不需要清理,创建“正确”已签名的APK所需的只是导出一个已签名的APK(righ click project->Android Tools->export signed application package…),因此这不会是代码或项目设置的问题。我想知道的是:
编辑:请注意,安装并运行“unsigned”(即使用调试证书签名)版本时,应用程序从未遇到上述问题。如果您使用的是库项目和jar文件,请尝试以下操作: 从项目中删除所有jar文件和库项目,然后在每次创建签名apk时添加它们并构建项目
我有一个类似的问题,它对我有效。您是否使用jar文件?可能有各种原因。尝试此线程中描述的解决方案:您的活动名称是否为“ApplicationSettings”?@AmitGupta是的,它使用一些jar libsTry来更改您的活动名称并查看发生了什么。这样做所需的时间与重新生成已签名的APK和测试所需的时间大致相同。我想知道一些永久解决此问题的修复方法(如果存在此类修复)
12-19 16:32:04.374: E/AndroidRuntime(25074): FATAL EXCEPTION: main
12-19 16:32:04.374: E/AndroidRuntime(25074): java.lang.RuntimeException: Unable to instantiate application com.innostreams.vieshow.ApplicationSettings: java.lang.ClassNotFoundException: com.innostreams.vieshow.ApplicationSettings
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.LoadedApk.makeApplication(LoadedApk.java:501)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.ActivityThread.access$1300(ActivityThread.java:140)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.os.Handler.dispatchMessage(Handler.java:99)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.os.Looper.loop(Looper.java:137)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.ActivityThread.main(ActivityThread.java:4898)
12-19 16:32:04.374: E/AndroidRuntime(25074): at java.lang.reflect.Method.invokeNative(Native Method)
12-19 16:32:04.374: E/AndroidRuntime(25074): at java.lang.reflect.Method.invoke(Method.java:511)
12-19 16:32:04.374: E/AndroidRuntime(25074): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
12-19 16:32:04.374: E/AndroidRuntime(25074): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
12-19 16:32:04.374: E/AndroidRuntime(25074): at dalvik.system.NativeStart.main(Native Method)
12-19 16:32:04.374: E/AndroidRuntime(25074): Caused by: java.lang.ClassNotFoundException: com.innostreams.vieshow.ApplicationSettings
12-19 16:32:04.374: E/AndroidRuntime(25074): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
12-19 16:32:04.374: E/AndroidRuntime(25074): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-19 16:32:04.374: E/AndroidRuntime(25074): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.Instrumentation.newApplication(Instrumentation.java:971)
12-19 16:32:04.374: E/AndroidRuntime(25074): at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
12-19 16:32:04.374: E/AndroidRuntime(25074): ... 11 more