解决transformDexArchiveWithExternalLibsDexMergerForDebug问题

重复导包或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,如不能访问自备梯子。​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值