Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 签署的APK有时有效,有时无效';T_Android_Eclipse_Adt_Apk_Eclipse Adt - Fatal编程技术网

Android 签署的APK有时有效,有时无效';T

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

将ADT更新到22.3后,有时可以对APK进行签名,但在测试时抛出
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