2013-06-11 24 views

Odpowiedz

26

Start z tego linku: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Wśród innych rzeczy, w tej sekcji oznacza, że ​​moduł w projekcie Android Studio można używać oddzielnego „debug” i „uwolnienie” katalogów kodu źródłowego/zasoby/etc.

Tak więc, na przykład, w projekcie utworzonym przez Android Studio (nie importowany z Eclipse), można użyć tych plików bez dodatkowej konfiguracji w "build.gradle":

  • <Module>/src/main/res/wartości/strings.xml (utworzony przez IDE domyślnie)
  • <module> /src/debug/res/values/strings.xml (tworzone ręcznie przez użytkownika)
  • < Moduł > /src/release/res/values/strings.xml (tworzone ręcznie przez użytkownika)

W latach Debug z katalogów strings.xml pliku, można zdefiniować nowy zasób ciąg takich jak:

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

aw release z katalogów strings.xml pliku, można określić ten sam zasób ciąg, ale z inną wartością:

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

I te zasoby są dodawane automatycznie podczas Gradle budować na inne wartości ciągów w głównej katalogu, w zależności od budowy typ jest używany - bez konieczności jakiegokolwiek wyraźnego konfiguracji przez Ciebie.

4

Struny można dodać z Gradle tylko w app/build.gradle

można zapisać tutaj: Adres URL serwera, Google Map Api Key, itd.

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

zastosowanie:

w kodzie jako proste wyrażenie:

getString(R.string.server_uri); 

w manifeście:

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