You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio应用无代码报错却崩溃的问题求助

问题

点击Run后应用崩溃,清理缓存或重启设备能临时解决,但只要做微小代码修改(比如新增一行代码)就会再次崩溃。错误日志如下:

FATAL EXCEPTION: main
Process: com.example.hoerspielduell, PID: 337
java.lang.SecurityException: Writable dex file '/data/data/com.example.hoerspielduell/code_cache/.overlay/base.apk/classes3.dex' is not allowed.
    at dalvik.system.DexFile.openDexFileNative(Native Method)
    at dalvik.system.DexFile.openDexFile(DexFile.java:406)
    at dalvik.system.DexFile.<init>(DexFile.java:128)
    at dalvik.system.DexFile.<init>(DexFile.java:101)
    at dalvik.system.DexPathList.loadDexFile(DexPathList.java:438)
    at dalvik.system.DexPathList.makeDexElements(DexPathList.java:387)
    at dalvik.system.DexPathList.<init>(DexPathList.java:166)
    at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:160)
    at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:130)
    at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:146)
    at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:93)
    at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:134)
    at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:126)
    at android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:61)
    at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:1034)
    at android.app.LoadedApk.getClassLoader(LoadedApk.java:1126)
    at android.app.LoadedApk.getResources(LoadedApk.java:1374)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3324)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:3316)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6889)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2237)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:205)
    at android.os.Looper.loop(Looper.java:294)
    at android.app.ActivityThread.main(ActivityThread.java:8223)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:977)

已尝试执行Clean Project、Rebuild Project操作,以及卸载重装应用,问题仍未解决。

解决方案

  • 禁用Android Studio的Instant Run功能:打开Settings → Build, Execution, Deployment → Instant Run,取消勾选"Enable Instant Run to hot swap code/resource changes on deploy"。该功能的热替换机制可能导致dex文件权限异常。
  • 手动清除设备应用代码缓存:使用adb命令执行adb shell run-as com.example.hoerspielduell rm -rf code_cache,彻底删除应用的code_cache目录。
  • 检查Gradle配置:确认是否开启了冗余的dex分包配置,比如multiDexEnabled true,若当前项目不需要可尝试关闭;同时将Android Gradle Plugin版本更新至稳定版。
  • 重启adb服务:执行adb kill-server后再运行adb start-server,重置adb连接状态。
  • 切换编译模式:先切换到Release模式运行一次应用,再切回Debug模式,重置编译缓存状态。

内容的提问来源于stack exchange,提问作者Basti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:41:09