在Gradle Android Studio中,使用Gradle,如何设置调试/发布变量。例如,当我在DEBUG中运行我的应用程序时,希望我的服务器是:
服务器= "http://www.mytestserver.com";
当我在版本中运行我的应用程序时,我希望我的服务器URL是:
服务器= "http://www.myproductionserver.com";
我该怎么做呢?
问候
发布于 2013-07-09 04:23:48
从这个链接开始:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types
其中,这一部分意味着Android Studio项目中的模块可以使用单独的"debug“和"release”目录的source-code/resources/etc。
因此,例如,在Android Studio创建的项目(不是从Eclipse导入的)中,您可以使用这些文件,而无需在“build.gradle”中进行任何额外配置:
在调试目录的strings.xml文件中,可以定义新的字符串资源,例如:
<string name="server_uri">http://www.mytestserver.com</string>
在release目录的strings.xml文件中,您可以定义相同的字符串资源,但使用不同的值:
<string name="server_uri">http://www.myproductionserver.com</string>
这些资源会在Gradle构建期间自动添加到主目录中的其他字符串值中,具体取决于使用哪种构建类型--不需要您进行任何显式配置。
发布于 2015-04-24 18:53:31
只能在app/build.gradle中使用Gradle添加字符串
您可以在此处存储:服务器Urls、Google Map Api密钥等。
android {
//...
buildTypes {
release {
resValue "string", "server_uri", "http ...1"
resValue "string", "google_maps_key", "your key"
shrinkResources true
debuggable false
}
releaseStaging {
resValue "string", "server_uri", "http ...2"
resValue "string", "google_maps_key", "your key2"
shrinkResources true
debuggable false
}
debug {
resValue "string", "server_uri", "http ...3"
resValue "string", "google_maps_key", "your key 3"
shrinkResources true
debuggable true
}
}
使用:
在简单字符串形式的代码中:
getString(R.string.server_uri);
在清单中:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
https://stackoverflow.com/questions/17049647
复制相似问题