当我运行 assembleDebug 时,应用程序的调试 apk 已成功生成,但在尝试 assembleRelease 时,它导致 transformDexArchiveWithDexMergerForDebug 任务失败。
以下是确切错误的 fragment :
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForRelease'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException:
Program type already present: android.support.annotation.AnimRes
我想知道为什么 assembleDebug 不会出现这个错误?
transformDexArchiveWithDexMergerForDebug 和 transformDexArchiveWithDexMergerForRelease 究竟有什么区别?
附言我已经尝试清理和重建项目。
最佳答案
发生这种情况的一个原因是 multidex .可能在你的调试版本中的 gradle 中你有
`multidexEnabled true
它允许您绕过调试版本的 64k 限制,因此 apk 已成功创建。生产代码通常发生的情况是您不启用 multidex 并使用 proguard减少引用的代码大小以不绕过 64k 限制。
关于android - transformDexArchiveWithDexMergerForRelease 和 transformDexArchiveWithDexMergerForDebug 任务之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54771178/