美文网首页
Android 打测试包

Android 打测试包

作者: pdog18 | 来源:发表于2017-06-23 11:20 被阅读844次

    感谢 多渠道打包之动态修改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了。

    Simulator Screen Shot 2017年5月8日 下午11.23.17.png
    Build Variants可以选择debug调试时使用的渠道,app_name也就是渠道对应的app_name

    配置说明:

    1. 调试时打出的包名为com.jianshu.default 应用名称为debug包
    2. 选择线上渠道包名为com.jianshu.default 应用名称为简书APP
    3. 选择jtest渠道包名为com.jianshu.test 应用名称为简书APP
      1和2 会互相覆盖安装
      3则可以和1或2共存

    相关文章

      网友评论

          本文标题:Android 打测试包

          本文链接:https://www.haomeiwen.com/subject/tgxccxtx.html