将下面的配置放在app的gradle的android节点下,与defaultConfig节点同等级。里面配置了多个版本;
buildTypes {
release {
// 这里是在 applicationId 中添加了一个后缀。所以『.』要加上
// applicationIdSuffix ".release"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
dev{
applicationIdSuffix ".dev"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// 这里是为了不同过的版本设置一些特殊的参数,并不直接和 buildType 关联。
//例如:使用 buildType 中的 dev 版本,也可以使用 flavors_release 里面设置的自定义参数。这需要自己按照需求制定。
productFlavors{
//自定义名字不过不能和上面buildType中相同,不然Gradle编译会不通过。在这里使用了『flavors_』前缀以便区分。
flavors_release{
// manifestPlaceholders中写到的『str』,『package_name』不支持用大写,否则Gradle编译会不通过。
// 这里所设置的变量可以直接使用在『AndroidManifest.xml』中,使用方式为:${package_name}
// android:label="${package_name}"
// manifestPlaceholders = [str:"releaseStr",package_name:"com.telehot.quan.release"]
manifestPlaceholders = [str:"releaseStr",package_name:"com.xiao.layoutshared"]
// 这里的参数是为了在 java 代码中使用,具体的使用方式为:context.getResources().getString(R.string.strKey);
resValue("string"
, "strKey","releaseStrValue")
}
flavors_dev{
manifestPlaceholders = [str:"devStr",package_name:"com.xiao.layoutshared.dev"]
resValue("string"
, "strKey","devStrValue")
}
}
原始的配置是这样的:
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.xiao.layoutshared"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// 这里是在 applicationId 中添加了一个后缀。所以『.』要加上
// applicationIdSuffix ".release"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
将改变后的代码添加进去,并且将其中的包名改成自己的包名,就可以打多个包了.