2013-06-11 25 views

risposta

26

iniziare con questo link: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Tra le altre cose, questa sezione significa che un modulo in un progetto di studio Android può usare "debug" separata e directory "rilascio" del codice sorgente/risorse/etc.

Così, per esempio, in un progetto creato da Android Studio (e non importate da Eclipse), è possibile utilizzare questi file senza alcuna configurazione aggiuntiva in "build.gradle":

  • <Modulo>/src/main/ris/valori/strings.xml (creati dal IDE di default)
  • <modulo> /src/debug/res/values/strings.xml (creato manualmente dall'utente)
  • <modulo> /src/release/res/values/strings.xml (creato manualmente dall'utente)

Nel file di strings.xml il di debug di directory, è possibile definire una nuova risorsa di stringa come ad esempio:

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

E in strings.xml il file rilascio di directory, è possibile definire la stessa risorsa di stringa, ma con un valore diverso:

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

E queste risorse vengono aggiunte automaticamente durante la Gradle costruire per gli altri valori di stringa nella directory principale , a seconda di quale costruire tipo è usato - senza bisogno di alcuna configurazione esplicita da te

4

stringhe potrebbero essere aggiunti con Gradle solo in app/build.gradle

È possibile memorizzare qui: URL del server, Google Map Api Key, 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 
     } 
    } 

uso:

in codice come semplice stringa:

getString(R.string.server_uri); 

in palese:

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