重复导包或dex64导致的问题,终极解决办法。
1、将您的应用项目设置为使用 Dalvik 可执行文件分包配置需要对您的应用项目进行以下修改,具体取决于应用支持的最低 Android 版本。如果您的 minSdkVersion设置为 21 或更高值,您只需在模块级 build.gradle文件中将 multiDexEnabled设置为 true
如此处所示:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
...
}
2、修改模块级 build.gradle文件以启用 Dalvik 可执行文件分包,并将 Dalvik 可执行文件分包库添加为依赖项,如此处所示:
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 26
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.3'
}
3、根据是否要替换 Application
3.1、如果您没有替换 Application,请替换<application>标记中的 android:name:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
</manifest>
3.2、如果您替换了Application类,请按如下方式对其进行更改以扩展MultiDexApplication:
public class MyApplication extends MultiDexApplication { ... }
3.3、如果您替换了Application类,但无法改变基本类,则可改为替换attachBaseContext()
方法并调用 MultiDex.install(this)来启用 Dalvik 可执行文件分包。
public class MyApplication extends SomeOtherApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(context);
MultiDex.install(this);
}
}
按上边操作即可解决该问题。送上官方链接https://developer.android.com/studio/build/multidex,如不能访问自备梯子。