您的位置:首页 > 移动开发 > Android开发

Grade 编译 Android 解决 Error:more than one library with package name

2015-05-21 13:47 525 查看

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=false
However, 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 会自动获取最新的,就不需要重新发布了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐