android配置profile实现环境切换

配置app--build.gradle

def env = System.getProperty("profile") ?: "test"
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
//                java.srcDirs = ['src/main/java']
                assets {
                    srcDirs = [ "src/main/assets","src/main/profiles/$env"]
                }
            }
        }

配置签名文件
signingConfigs {
        release {
            keyAlias '别名'
            keyPassword '别名密码'
            storeFile file('签名文件路径')
            storePassword '签名文件密码'
        }
    }
   
   
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }

创建profiles以及各个环境包以及文件
android配置profile实现环境切换_第1张图片







如何获取?
Properties pro = new Properties();
        InputStream is = null;
        try {
            is = getAssets().open("environment.properties");
            pro.load(is);
            Log.e("TAG",""+pro.get("test"));
        } catch (IOException e) {
            e.printStackTrace();
        }
打包命令
如果使用androidstudio
gradlew assembleRelease -Dprofile=pro//生成
gradlew assembleRelease -Dprofile=dev//开发
gradlew assembleRelease -Dprofile=test//测试
gradlew assembleRelease -Dprofile=pre//预发

使用linux
gradle assembleRelease -Dprofile=pro//生产
gradle assembleRelease -Dprofile=dev//开发
gradle assembleRelease -Dprofile=test//测试
gradle assembleRelease -Dprofile=pre//预发

由于默认是测试环境def env = System.getProperty("profile") ?: "test"  
需要测试环境包时候gradlew assembleRelease-Dprofile=test (可加可不加)
如果需要别的环境gradlew assembleRelease -Dprofile=所对应的环境

把profile配置好无论在linux上打包还是使用Jenkins自动化打包都可以使用gradle 来实现切换环境打包

参考链接:
http://www.cnblogs.com/yjmyzz/p/gradle-profile.html
http://blog.csdn.net/qq_27657429/article/details/64127308

Demo下载:http://download.csdn.net/download/qq_33220645/10110905

你可能感兴趣的:(Android知识)