2013-06-11 23 views

Antwort

26

Beginnen Sie mit diesem Link: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Unter anderem bedeutet dies, Abschnitt, dass ein Modul in einem Projekt Android Studios trennen kann "debug" und "release" Verzeichnisse von Source-Code/Ressourcen/etc.

So zum Beispiel in einem Projekt erstellt von Android Studio (nicht von Eclipse-importiert), können Sie diese Dateien ohne zusätzliche Konfiguration in "build.gradle" verwenden können:

  • <Modul>/src/main/res/Werte/strings.xml (von den IDE standardmäßig erstellt)
  • <Modul> /src/debug/res/values/strings.xml (erstellt von Ihnen manuell)
  • <Modul> /src/release/res/values/strings.xml (manuell von Ihnen erstellt)

Im Debugstrings.xml Datei-Verzeichnis, können Sie einen neuen String-Ressource definieren wie zum Beispiel:

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

und in dem Releasestrings.xml Datei-Verzeichnis, können Sie die gleiche Zeichenfolge-Ressource definieren, aber mit einem anderen Wert:

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

Und diese Ressourcen werden automatisch während des Gradle bauen auf Ihre anderen String-Werte in der Haupt Verzeichnis hinzugefügt, je nachdem, welche bauen Typ verwendet wird - ohne Notwendigkeit für eine explizite Konfiguration von dir.

4

Strings konnte mit Gradle nur in app/build.gradle

Sie können hier gespeichert werden hinzugefügt: Server Urls, Google Map API-Schlüssel etc.

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 
     } 
    } 

Verwendung:

in Code so einfach string:

getString(R.string.server_uri); 

in manifest:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="@string/google_maps_key" />