【问题标题】:android studio gradle server configurationandroid studio gradle 服务器配置
【发布时间】:2013-06-07 15:06:48
【问题描述】:

Android Studio 中并使用 Gradle 如何设置 DEBUG/RELEASE 变量。例如,当我在 DEBUG 中运行我的应用程序时,我希望我的服务器是:

服务器 = "http://www.mytestserver.com";

当我在 RELEASE 中运行我的应用程序时,我希望我的服务器 URL 为:

服务器 = "http://www.myproductionserver.com";

我该怎么做?

问候

【问题讨论】:

    标签: android gradle android-studio build.gradle


    【解决方案1】:

    只能使用 Gradle 添加字符串 在 app/build.gradle

    您可以在此处存储:Server Urls、Google Map Api Key 等。

    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" />
    

    【讨论】:

      【解决方案2】:

      从这个链接开始:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

      除其他外,此部分意味着 Android Studio 项目中的模块可以使用 source-code/resources/etc 的单独“调试”和“发布”目录。

      因此,例如,在Android Studio创建的项目中(不是从Eclipse导入的),您可以在“build.gradle”中使用这些文件而无需任何额外配置:

      • /src/main/res/values/strings.xml(IDE默认创建)
      • /src/debug/res/values/strings.xml(由您手动创建)
      • /src/release/res/values/strings.xml(由您手动创建)

      debug目录的strings.xml文件中,可以定义一个新的字符串资源如:

      <string name="server_uri">http://www.mytestserver.com</string>
      

      而在release目录的strings.xml文件中,可以定义相同的字符串资源,但值不同:

      <string name="server_uri">http://www.myproductionserver.com</string>
      

      这些资源会在 Gradle 构建期间自动添加到 ma​​in 目录中的其他字符串值中,具体取决于所使用的构建类型 - 无需您进行任何显式配置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 2021-08-26
        • 2023-03-22
        • 1970-01-01
        • 2016-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多