Android应用程序在从输出文件夹共享调试APK时崩溃

时间:2017-04-06 12:00:20

标签: android crash android-sharing

我正在开发一个只有一个屏幕条形码扫描的应用程序,我用zxing Library实现了这一点。但我的问题是,如果我安装应用程序与Android工作室它工作正常,但如果我从输出文件夹与蓝牙,电子邮件,Xender等分享这个apk。应用程序是安装但是当我打开应用程序它将崩溃和异常是NoClassFoundException。

这是Logcat:

  

致命的例外:主要

    Process: com.jenex.cartracking, PID: 31223                                                                       

    java.lang.RuntimeException: Unable to instantiate activity
 ComponentInfo{com.jenex.cartracking/com.jenex.cartracking.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.jenex.cartracking.MainActivity" on path: DexPathList[[zip file "/data/app/com.jenex.cartracking-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3029)
                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
                                                                                   at android.app.ActivityThread.access$1000(ActivityThread.java:211)
                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                   at android.os.Looper.loop(Looper.java:145)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:6946)
                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
                                                                                Caused by: java.lang.ClassNotFoundException: Didn't find class "com.jenex.cartracking.MainActivity" on path: DexPathList[[zip file "/data/app/com.jenex.cartracking-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
                                                                                   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                                                   at android.app.Instrumentation.newActivity(Instrumentation.java:1094)
                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3019)
                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) 
                                                                                   at android.app.ActivityThread.access$1000(ActivityThread.java:211) 
                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705) 
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                   at android.os.Looper.loop(Looper.java:145) 
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:6946) 
                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
                                                                                Suppressed: java.lang.ClassNotFoundException: com.jenex.cartracking.MainActivity
                                                                                   at java.lang.Class.classForName(Native Method)
                                                                                   at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                                                   at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                                        ... 13 more
                                                                                Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

2 个答案:

答案 0 :(得分:4)

在共享应用程序并进行调试构建之前,您必须清理构建。

按照以下简单步骤

  
      
  1. 转到构建 - >清洁项目
  2.   
  3. 转到构建 - >建立Apk
  4.   

这将生成构建Apk。分享这个Apk。

希望这有帮助。

答案 1 :(得分:0)

好像我有同样的问题。现在任何项目都会发生这样的异常,即使刚创建了空白和干净也是如此。我曾经和测试人员分享myproject_debug.apk,但现在它在启动时崩溃了。也许它是在Android Studio或平台工具的一些更新之后开始的,我不确定。

所以,我找到了一些有关我工作的工作

从输出文件夹复制project-debug.apk之前:

  • 转到Android Studio中的菜单并打开菜单' Build'

  • 点击“建立APK'

成功构建后,我从输出文件夹中复制myproject-debug.apk,效果很好。