遇到一个需求,想出不同渠道,我们可以知道在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"即可