配置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以及各个环境包以及文件
如何获取?
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 来实现切换环境打包
参考链接: