每次我发布我的应用程序时,我都会更改我所有的url 字符串和一些从测试到生产的键。我这样做的方式只是在发布之前注释掉测试字符串。有没有更好的方法来处理基于构建类型的字符串?
问问题
16607 次
3 回答
54
假设您使用 Android Studio,默认情况下,系统会创建基本release
和debug
风味。因此,如果您在项目的文件夹中添加一个debug
和release
文件app/src
夹,您可以在那里声明单独的值。
所以你的结构应该是这样的:
project
-app
-src
-debug
-java
...
-res
-values
-strings.xml
-release
-java
...
-res
-values
-strings.xml
-main
-java
...
-res
-values
-strings.xml
我还应该补充一点,如果您有一个未在文件夹debug
或release
文件夹中定义的字符串,它将回退到您的main
文件夹。
于 2016-03-16T17:03:27.043 回答
5
好吧,如果需要使用几个字符串,你可以使用 Gradle
buildTypes {
release {
resValue 'string', 'adUnitIdMain', '"production-id-value-should-be-here"'
resValue 'string', 'adUnitIdList', '"production-id-value-should-be-here"'
resValue 'string', 'adUnitIdDetail', '"production-id-value-should-be-here"'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
resValue 'string', 'adUnitIdMain', '"test-id-value-should-be-here"'
resValue 'string', 'adUnitIdList', '"test-id-value-should-be-here"'
resValue 'string', 'adUnitIdDetail', '"test-id-value-should-be-here"'
}
}
于 2020-06-04T09:47:42.247 回答
1
只需在 build.gradle 中制作两种口味。然后是两个目录,同样在链接中给出(developer.android.com/tools/building/configuring-gradle.html)。由于您只需要更改字符串,只需将您的 strings.xml 文件复制到新目录(即开发和生产)中删除您原来的 strings.xml
就是这样。:)
无需移动您的 java 文件或其他布局文件。
简而言之,将所有构建风格的所有内容都保留在“主”目录中。将依赖于构建风格的值覆盖到它们各自的目录中。
于 2016-03-16T17:27:53.773 回答