应用程序崩溃并显示"classes.dex权限被拒绝"错误

10

我的应用程序崩溃了,出现了以下错误:

 E/dex2oat: Failed to create oat file:/data/dalvik-cache/arm/data@app@com.stvgame.xiaoy.remote-1@split_lib_dependencies_apk.apk@classes.dex: Permission denied

我们的应用使用多个dex文件,它们之间有关联吗?


我没有使用multidex,但是我遇到了同样的错误。虽然我有arm8构建,但也许这是一个64位特定的问题? - Bram
我通过编辑我的主dex文件解决了这个问题。请参见此链接 - Amir133
2个回答

12

我曾经遇到过类似的问题,我的解决方法是禁用Instant Run。如果你正在使用Android Studio...


1
你如何禁用即时运行? - FMaz008

4
我第一次使用multi dex时遇到了类似的错误, 这篇指南帮了我很多忙,
我的错误是我忘记在应用程序类中添加这个:
public class MyApplication extends SomeOtherApplication {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(base);
     MultiDex.install(this);
  }
}

在您的build.gradle文件中,确保已包含以下行:

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 25
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

即使使用了 multi dex,也存在与 progaurd 有关的限制。阅读指南以查明是否导致了此问题。


1
这对我不起作用,仍然在logcat中出现错误。 - Jarrette
@Jarrette,请删除compile和multiDexEnabled true附近的两个**字符。 - Jhonatan Pereira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接