Android针对每个环境的配置提供了什么解决方案?在web世界中,我习惯于使用C#进行配置转换,并且在Java web应用程序中使用构建来将适当的.properties文件复制到WAR中。
Android的解决方案是什么?现在,我看到很多人只是硬编码静态变量,并在他们想要构建生产APK时更改它们。
编辑:看着类似的问题,人们建议使用SharedPreferences,但我不理解这一点,因为它似乎是运行时对象,而不是文件。我不希望在启动时存储这些值,而是使用配置文件中的特定属性集构建应用程序。
发布于 2014-03-15 01:01:00
1.)我推荐使用gradle来设置环境设置。
安卓有一个很棒的插件:http://tools.android.com/tech-docs/new-build-system/user-guide
2.)使用"productFlavors“进行环境设置。
看看这个:http://tulipemoutarde.be/2013/10/06/gradle-build-variants-for-your-android-project.html
示例配置为:
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
}
buildTypes {
debug {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
production {
packageName "com.sample.app"
}
staging {
packageName "com.sample.app.staging"
}
develop {
packageName "com.sample.app.develop"
}
}
}https://stackoverflow.com/questions/22410957
复制相似问题