多渠道打包(获取不同配置文件)

来源:互联网 发布:初中学历能学编程吗 编辑:程序博客网 时间:2024/06/05 06:21

多渠道打包(获取不同配置文件)

  1. build文件下
 productFlavors {        jd {            Properties properties = getVersionProperty("$rootDir/app/src/main/assets/jd/profile.properties");            applicationId = "com.***.jd"            versionName=properties.getProperty('version')            manifestPlaceholders = ["version_Code":properties.getProperty('versionCode')        }        xiaomi {            Properties properties = getVersionProperty("$rootDir/app/src/main/assets/xiaomi/profile.properties");            applicationId = "com.***.xiaomi"            versionName=properties.getProperty('version')            manifestPlaceholders = ["version_Code":properties.getProperty('versionCode')        }def getVersionProperty(path) {    //加载资源    Properties properties = new Properties();    InputStream inputStream = project.rootProject.file(path).newDataInputStream() ;    //InputStream inputStream = project.rootProject.file(asset_profile).newDataInputStream() ;    properties.load( inputStream );    return properties;}
  1. 文件目录如下,profile为配置文件
    这里写图片描述
    3.配置文件中的内容
version=1.0.0.0.1versionCode=10001

4.打包命令

//debug./gradlew installjddebug./gradlew installxiaomidebug//Release打包所有./gradlew assembleRelease//Release打包单个./gradlew assemblejdRelease./gradlew assemblexiaomiRelease

windows系统打包时去掉./
5.代码中判断版本

String appPackageName = getApplication().getPackageName();if("com.***.jd".equals(appPackageName )){//执行的代码}else if("com.***.xiaomi".equals(appPackageName )){//执行的代码}

6.react native调用

//原生代码如下(RecordModule类下)@Override    public Map<String, Object> getConstants() {        final Map<String, Object> constants = new HashMap<>();            //添加下面一行代码         constants.put("ApplicationId",getApplication().getPackageName());        return constants;    }//react native中获取RecordModule.ApplicationId
原创粉丝点击