Mam kilkadziesiąt kluczy api do facebooka i Twittera oraz wiele innych usług, jaki jest standardowy sposób na różne wartości kluczy w zależności od tego, czy robię kompilację programistyczną w porównaniu z kompilacją pomostową czy kompilacją produkcyjną?Jak mieć różne środowiska kompilacji dla Androida?
11
A
Odpowiedz
5
Możesz użyć flagi statycznej, aby użyć jej w bloku przełącznika do zdefiniowania kluczy. To działa dla prostego projektu z dwoma lub trzema kluczami alternatywnymi.
Jeśli naprawdę masz tak wiele do wykorzystania w kilku projektach, proponuję dodać je do klasy pomocnika, aby zminimalizować zmiany kodu na zajęciach. Coś jak:
public class BuildHelper {
public static final int DEBUG=0;
public static final int STAGING=1;
public static final int PRODUCTION=2;
public static int BUILD;
public static String getFbKey() {
switch(BUILD) {
case DEBUG: return "xxx";
case STAGING: return "yyy";
case PRODUCTION: return "zzz";
}
return null;
}
public static String getTwitterKey() {
switch(BUILD) {
case DEBUG: return "xxx";
case STAGING: return "yyy";
case PRODUCTION: return "zzz";
}
return null;
}
}
i używać go jako:
public class YourClass extends Activity {
public static String FB_KEY;
public static String TWITTER_KEY;
//etc.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BuildHelper.BUILD=BuildHelper.DEBUG; // or STAGING or PRODUCTION
FB_KEY = BuildHelper.getFbKey();
TWITTER_KEY = BuildHelper.getTwitterKey();
//etc.
}
}
0
chciałbym zachować je w osobnych plikach właściwości i odniesienie odpowiedni plik właściwości w swojej klasie build skrypt/Zaćmienie ścieżki w zależności od tego, co masz robić.
Powiązane problemy
- 1. Różne konstrukcje Androida dla różnych środowisk
- 2. Xcode - jak ustawić różne identyfikatory pakietów dla różnych konfiguracji kompilacji?
- 3. Najlepszy sposób konfiguracji środowiska kompilacji systemu Windows dla C/C++
- 4. Jak korzystać z skompilowanej kompilacji OpenCV dla Androida?
- 5. Czy różne instancje funkcji ogólnej mogą mieć różne zmienne statyczne?
- 6. Czy można mieć dwie różne wersje Perla?
- 7. Czy można mieć animowane ikony uruchamiania dla aplikacji na Androida?
- 8. Jak ponownie użyć kompilacji dla projektu Angular
- 9. Autonomiczny ruby - jak załadować różne środowiska z database.yml
- 10. Jak mieć 2 różne strony administracyjne w projekcie Django?
- 11. Błąd kompilacji Cordova/Ionic (czasami): nie mam wymaganego środowiska
- 12. Ustawianie środowiska dla System.in
- 13. Czy można mieć ikony na kartach paska akcji dla Androida?
- 14. Zasoby Androida dla różnych menu
- 15. Jak skonfigurować różne bazy danych dla środowiska w wersji Play 2.0?
- 16. Dostosowywanie środowiska ESS dla R
- 17. Buck kontra Gradle, pro i cons dla systemów kompilacji Androida
- 18. Jak dodać źródło "Prywatnych bibliotek Androida" do środowiska ADT Eclipse?
- 19. Zastrzyki zależne od adnotacji, które obsługują różne środowiska.
- 20. Błąd kompilacji wielu-do-wielu za pomocą greendao dla Androida
- 21. Skórowanie aplikacji na Androida z profilami do kompilacji Maven
- 22. pymongo- Jak mogę mieć różne wartości dla pola wraz z innymi parametrami zapytania
- 23. Jak uruchomić state.highstate dla określonego środowiska?
- 24. Jak wymagać zasobów tylko dla środowiska programowania
- 25. Zrozumienie środowiska wirtualnego dla Pythona
- 26. Wektor, który może mieć 3 różne typy danych C++
- 27. Jak dodać różne linie dla aspektów
- 28. Jak mogę odtwarzać różne pliki wideo w aplikacji na Androida?
- 29. Dowolne środowiska NIO dla .NET?
- 30. Jak określić różne pliki .dockerignore dla różnych kompilacji w tym samym projekcie?
Skończyłem na runtime sprawdzić ciągi var var podobny do tego – hunterp