Java 如果手动安装apk,Android应用程序将在真实设备上崩溃

Java 如果手动安装apk,Android应用程序将在真实设备上崩溃,java,android,crash,Java,Android,Crash,我的应用程序在模拟器中运行良好,甚至在android studio为调试目的安装的真实设备中也运行良好,但如果使用apk文件手动安装,它将崩溃 我准备粘贴任何其他代码,如活动,如果需要 以下是日志: 04-14 12:20:44.392 6220-6220/? I/art: Late-enabling -Xcheck:jni 04-14 12:20:44.465 6220-6220/test.planner W/System: ClassLoader referenced unknown pat

我的应用程序在模拟器中运行良好,甚至在android studio为调试目的安装的真实设备中也运行良好,但如果使用apk文件手动安装,它将崩溃

我准备粘贴任何其他代码,如活动,如果需要

以下是日志:

04-14 12:20:44.392 6220-6220/? I/art: Late-enabling -Xcheck:jni
04-14 12:20:44.465 6220-6220/test.planner W/System: ClassLoader referenced unknown path: /data/app/test.planner-1/lib/arm
04-14 12:20:44.467 6220-6220/test.planner I/InstantRun: starting instant run server: is main process
04-14 12:20:44.470 6220-6220/test.planner D/AndroidRuntime: Shutting down VM
04-14 12:20:44.471 6220-6220/test.planner E/AndroidRuntime: FATAL EXCEPTION: main
Process: test.planner, PID: 6220
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{test.planner/test.planner.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "test.planner.MainActivity" on path: DexPathList[[zip file "/data/app/test.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/test.planner-1/lib/arm, /vendor/lib, /system/lib]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
    at android.app.ActivityThread.-wrap11(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "test.planner.MainActivity" on path: DexPathList[[zip file "/data/app/test.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/test.planner-1/lib/arm, /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:1067)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    Suppressed: java.lang.ClassNotFoundException: test.planner.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)
            ... 12 more
 Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

只需转到:

Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.

并禁用
即时运行

我也面临类似的问题

请注意Apk的大小,它的大小将非常小,这是因为启用了中的即时运行功能。禁用它就行了

当我们使用即时运行来加快进程时,可能是Android Studio没有在Apk中包含所有文件

有人知道为什么会这样吗

转到:

Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.

如果你刚刚升级了android studio

您将没有此选项来
禁用->即时运行
。(不在菜单上)

似乎有了新的android studio和gradle升级,为了安装apk,您需要正确构建它

选项1:使用命令行中的渐变

./gradlew :appName:clean  
./gradlew :appName:build
选项2:来自android studio

Android Studio->build->build APK
(或生成感叹的APK)

生成的apk可以很好地安装在设备上

注意:如果您使用此版本的android studio启动一个新应用程序,您将看到当您从studio运行时,不再生成apk

Android Studio-->文件-->设置-->构建、执行、部署-->即时运行。
和禁用即时运行。

请禁用“设置”中的“即时运行”功能(如果启用)。这可能有助于-@DixitPatel现在正在工作!:)谢谢,朋友。你可以在这篇文章中找到你的答案。我在android研究中找不到即时跑步。谢谢!!!因为这个,我已经撞了好几天了!我知道“即时运行”选项的问题,并且已经在没有它的情况下工作了一段时间!但我从未想过,使用选项2“正确构建apk”会有所帮助!在android studio 3.5.2中看不到即时运行