遇到一个需求,想出不同渠道,我们可以知道在build.gradle里面声明
productFlavors {
dev {
minSdkVersion 21
applicationId "xxx.xxx.xxx"
manifestPlaceholders = [
CHANNEL_VALUE : "xxxx",
PROVIDER_AUTHORITIES : "xxx.xxx.xxx.xxx",
]
}
}
但是有时候会导致一个问题,某个xml文件里面重新定义了命名空间例如:
xmlns:camera="http://schemas.android.com/apk/res/xxx.xxx.xxx" (xxx.xxx.xxx代表包名)
我们改变applicationId后,编译会出现这个包名找不到的错误
解决方案很简单:
只需要把xmlns:camera="http://schemas.android.com/apk/res/xxx.xxx.xxx"
改成xmlns:camera="http://schemas.android.com/apk/res-auto"即可
本文介绍了一种在Android应用开发中使用不同渠道打包时出现的问题及解决方案。具体讨论了如何通过修改build.gradle文件来区分不同的发布渠道,并解决了因更改applicationId导致的XML文件命名空间错误。
5402

被折叠的 条评论
为什么被折叠?



