Grade 编译 Android(安卓)解决 Error:more than one library with package name
16lz
2021-12-04
Grade 编译 Android 解决 Error:more than one library with package name
Error: more than one library with package name 'com.app.XX'You can temporarily disable this error with android.enforceUniquePackageName=falseHowever, this is temporary and will be enforced in 1.0
最近在将老的项目构建成 gradle 编译,大体目录格式是:
一个主项目,依赖四个子项目,中间转换的时候,出现不少问题,最终一一解决了。
主项目 | 子项目 | 依赖 |
---|---|---|
mainPro | ||
–>ext1 | –>ext2 | |
–>ext2 | ||
–>ext3 | –> ett2 | |
–>ext4 |
在项目编译的时候,总是出现
more than one library with package name 'com.app.XX'
在网上找了一些方案,但是还是不行,最后 分析了下:more than one library with package name ‘com.app.XX’, 从含义中能明白 应该是 library 里面有两个 依赖的 包名 是一样的,最后细细排查一下,果然是 有两个包名是一样的 ext2 和 ext4 的包名是:
com.app.XX
原来是这里的原因。 重新发布 依赖工程的 ext2 的包名为:
com.app.aXX
就OK 了,但是由于 ext 3依赖 ext2, ext1也依赖 ext 2 , 所以以意味着 也要重新发布 ext1 和 ext3 。
但是这样显然很麻烦,其实依赖的时候,可以写成
compile 'com.xxx.sdk:xxx-lib:1.0.+'
后面修改为 1.0.+,当有最新的话,会优先选用最新的。
这次发布后,如果 ext2 还是有问题,或是修改bug 后, ext1 和 ext3 会自动获取最新的,就不需要重新发布了。
更多相关文章
- 自定义android模块不编译的问题
- Android(安卓)Studio 使用NDK编译时常见的问题
- Android编译系统详解(一)
- 反编译出错
- ubuntu16.04 x86_64下编译ffmpeg-4.0 for android
- 编译android 源码
- Android(安卓)源码编译如何确定模块安装的位置
- 在服务器上使用 gradle 打包 android 源码
- Android(安卓)Studio提升编译速度