本篇文章主要记录下android 下的同一工程,打包时配置不同的包名,icon,名称等信息.
首先讲述下如何配置多包名.
在build.gralde的android 标签下添加:
productFlavors{
xiaomi{
applicationId "com.test.usagetest"
}
huawei{
applicationId "com.test.usagetest1"
}
}
此时如果我们运行的话,会出现下面错误:
A problem occurred configuring project ':app'.
> All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
解决办法:
defaultConfig添加一行代码:
flavorDimensions "versionCode"
此时编译重新运行即可.
修改manifest.xml
将icon属性由原来的"@mipmap/ic_launcher" 替换成$
修改build.gradle
productFlavors{
xiaomi{
applicationId "com.test.usagetest"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher"]
}
huawei{
applicationId "com.test.usagetest1"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher2"]
}
}
运行后可以看到icon已替换.
修改方法与icon一致.
productFlavors{
xiaomi{
applicationId "com.test.usagetest"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher",
app_name : "test1"]
}
huawei{
applicationId "com.test.usagetest1"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher2",
app_name : "test2"]
}
}
不同的包名对应不同的资源文件.
配置res的不同路径.
sourceSets{
xiaomi{
res.srcDir("src/main/res")
}
huawei{
res.srcDir("src/hw/res")
}
}
相同资源名称下设置不同的值即可.
本文由博客一文多发平台 OpenWrite 发布!
参与评论
手机查看
返回顶部