2013-06-11 46 views

回答

26

開始與此鏈接:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

除其他事項外,本節意味着在Android Studio項目的模塊可以使用單獨的「調試」和源代碼「釋放」目錄/資源/等。

因此,例如,在由Android工作室(不包括從Eclipse的進口)創建的項目,您可以在「的build.gradle」使用這些文件,無需任何額外的配置:

  • <模塊> /的src /主/ RES /值/ strings.xml中
  • <模塊(默認由IDE創建)> /src/debug/res/values/strings.xml(由手動創建)
  • <模塊> /src/release/res/values/strings.xml(由您手動創建)

調試目錄的的strings.xml文件,你可以定義一個新的字符串資源如:

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

而在發佈目錄的的strings.xml文件,你可以定義相同的字符串資源,但不同的值:

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

而這些資源在搖籃中自動添加建立到其他字符串值在目錄,這取決於建類型使用 - 而無需任何明確的配置由你。

4

字符串可以用搖籃可以添加在應用程序/的build.gradle

你可以存儲在這裏只 :服務器URL,谷歌地圖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" />