Android(安卓)打测试包
16lz
2021-01-26
感谢 多渠道打包之动态修改App名称,图标,applicationId,版本号,添加资源
在测试机上想线上包和测试包共存,那肯定就要修改ApplicationId
啦,
但是每次修改再同步多麻烦,还容易忘记
节约生命的做法
android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { applicationId "com.jianshu.default" ... } buildTypes { debug { //... resValue "string", "app_name_jianshu", "debug包" } release { //... resValue "string", "app_name_jianshu", "APP" } } productFlavors { xiaomi {}//小米 yingyongbao {} //应用宝 jtest { // 每个环境包名不同 applicationId "com.jianshu.test" // 动态添加 string.xml 字段; // 注意,这里是添加,在 string.xml 不能有这个字段,会重名!!! resValue "string", "app_name_test", "测试包"//会被buildTypes覆盖 } }}
上面的app_name_jianshu
就是Application中引用的字段,一般默认都是app_name
,需要将strings
中这个字段删除,(注意如果第三方库中有这样的字段那么会去引入第三方里面的)
然后在手动打包时选择不同的渠道就可以打出不同包名(applicationId)
的包了,同时应用名称也可以改变。
发现在平时调试的时候,如果没有特别标注,都会去引入productFlavors
下其中一个渠道配置。所以app_name
没有设置时在调试的时候得app_name
就可以知道了。
在平时Run
调试的时候,app_name
是怎么决定的呢?
这就要看Build Variants
了。
在
Build Variants
可以选择 debug
调试时使用的渠道, app_name
也就是渠道对应的 app_name
了 配置说明:
- 调试时打出的包名为
com.jianshu.default
应用名称为debug包
- 选择线上渠道包名为
com.jianshu.default
应用名称为APP
- 选择
jtest
渠道包名为com.jianshu.test
应用名称为APP
1和2 会互相覆盖安装
3则可以和1或2共存
更多相关文章
- Android(安卓)通过无线调试
- Walle —— Android多渠道打包神器
- Android手机gdb调试
- Android(安卓)SQLite使用
- Android(安卓)工具之androidscreencast
- 多渠道
- Android版本更新时对SQLite数据库升级或者降级遇到的问题
- android java.net.SocketException:Permission.denied 解决办法
- Android学习笔记10——Android的调试