应用可部署至设备但无法构建APK:重复条目TextUtilsCompat.class错误
解决APK导出时的重复类冲突问题
我之前也踩过一模一样的坑!这个TransformException本质是你的主项目和HoloGraphLibrary模块同时引入了Android Support v4库,导致打包时出现TextUtilsCompat.class重复的冲突。给你几个亲测有效的解决办法:
方法1:排除依赖中的重复support-v4
直接在引入HoloGraphLibrary的地方,排除它自带的support-v4依赖,强制让它使用主项目里的版本。修改你的app模块build.gradle:
compile project(path: ':HoloGraphLibrary') { exclude group: 'com.android.support', module: 'support-v4' }
这样就能避免两个模块的support库“打架”了。
方法2:统一所有模块的support库版本
如果不想用排除的方式,更稳妥的做法是让主项目和HoloGraphLibrary使用完全相同版本的support-v4。你可以在项目根目录的build.gradle里定义统一的版本变量:
ext { supportLibVersion = '28.0.0' // 替换成你实际使用的版本号 }
然后在主项目和HoloGraphLibrary的build.gradle里,都用这个变量引用support库:
implementation "com.android.support:support-v4:$supportLibVersion"
版本完全一致后,就不会出现重复类的问题了。
方法3:检查依赖树找出其他重复项
有时候可能还有其他第三方库也偷偷引入了support-v4,你可以用Gradle命令查看完整的依赖树:
# Mac/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies
在输出里搜索support-v4,找出所有重复引入的地方,同样用exclude处理掉多余的即可。
如果HoloGraphLibrary是你本地维护的模块,建议直接修改它的build.gradle,移除重复的support-v4依赖或者对齐版本,这样从根源解决问题更彻底。
内容的提问来源于stack exchange,提问作者CAZENAVE Guillaume
相关产品推荐
相关产品推荐

