Unable to merge dex错误解决思路

错误提示:

Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. 
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

 思路一:

clean+rebuild

简单粗暴,能解决AS“发病”问题。

思路二:

在app 的build.gradle文件

defaultConfig{

...

multiDexEnabled true

}

方法数超过65535解决方案,具体添加方法请自行解决

思路三:

因为添加相同的包依赖,或者第三方的开源库中已经添加了某个你添加过得依赖库,导致冲突,可以在module的build.gradle文件添加这样一段代码(说明看注释):

configurations.all {
    //循环一个个的依赖库
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        //获取当前循环到的依赖库
        def requested = details.requested
        //如果这个依赖库群组的名字是com.android.support
        if (requested.group == 'com.android.support') {
            //且其名字不是以multidex开头的
            if (!requested.name.startsWith("multidex")) {
                //这里指定需要统一的依赖版本
                details.useVersion '28.0.0'
            }
        }
    }
}

说直白就是删除重复添加的依赖,保持版本一致性

 

 

希望可以帮到您~~

### 解决Git仓库中无法合并不相关历史记录的问题 当遇到两个独立初始化的 Git 仓库尝试合并时,由于它们的历史记录互不关联,可能会引发冲突或错误。为了成功地将这些不相关的 Git 历史记录合并在一起而不丢失任何提交信息,可以采取如下方法: #### 方法一:使用 `git merge` 合并不同历史 对于希望保留双方完整的提交历史的情况,可以通过指定参数来实现这一点。执行以下命令前需确保当前位于想要接收更改的目标分支上。 ```bash git remote add other-repo /path/to/other/repo.git git fetch other-repo git merge --allow-unrelated-histories other-repo/main -m "Merging unrelated histories" ``` 这条指令允许来自其他存储库的变化被引入本地项目之中,并且会提示处理可能出现的文件差异[^2]。 #### 方法二:采用子模块方式集成 另一种方案是把其中一个仓库设置成另一个的主要项目的子模块(submodule),这适用于那些逻辑上有父子关系的应用场景。比如文档提到过的一种情况就是将较小规模的功能模块加入到更大的应用程序里去[^3]。 #### 使用Rebase调整提交顺序 有时可能还需要整理一下导入后的提交日志条目,使之更加整洁有序。这时就可以利用 `git rebase -i HEAD~N` 来开启交互式的变基过程,在这里 N 表示要回溯多少次提交来进行编辑[^4]。 ```bash git rebase -i HEAD~5 ``` 此命令打开一个文本编辑器列表显示最近五笔提交供进一步操作,如压缩(squash)、重命名(reword)或是完全移除(drop)某些特定改动项。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值