Lese dieses Artikels, dachten das gleiche Problem - One code base, two applications on Androidmehr Anwendungen mit unterschiedlichen Namen für die gleiche Code-Basis
Ich habe eine Anwendung testApp
erstellt, die Elemente wie topics
hat, splash screens
, logos
, charts
, rules
, statuses
und/oder events
.
Jetzt will ich verschiedene Anwendungen (testApp_USA
, testApp_Canada
, testApp_Australia
) aus dem gleichen Code-Basis und legte sie auf Google Play Store, so dass, wenn der Benutzer lädt die Anwendung, sagen wir, testApp_USA, dann werden nur die spezifischen Elemente zu, dass Region sollte wie Splash Screen von USA, USA Logos, etc ..
angezeigt werden So möchte ich mehrere Anwendungen nach Ländern konfigurieren und dann die Elemente als Standardeinstellungen je nach der Anwendung, die der Benutzer heruntergeladen hat.
Derzeit, habe ich eine einzige Anwendung, die für alle Regionen gilt und ich mehrere Bedingungen auferlegen, um die Elemente nach den Regionen zu unterscheiden oder zu ändern.
Zum Beispiel:
(In vielen Java-Dateien verwendete ich)
if(rule.contains("USA"))
{
//Show splash screen of USA
}
(Ähnlich In vielen Java-Dateien, habe ich)
if(rule.contains("Australia"))
{
//Show splash screen of Australia
}
Dies ist nur einer von vielen im Code wiederholt. Alles in allem wird es viel mehr sein.
Es sollte eine bessere Möglichkeit geben, mehrere Anwendungen in android mit verschiedenen Namen und Einstellungen zu erstellen.
Ich weiß, iOS
ermöglicht es mir, den Anwendungsnamen und das Profil zu ändern, damit mehrere Anwendungen erstellt werden können. Aber ich weiß nicht, oder das ist nicht einfach auf dem Android-Code zu tun.
Meine Frage:
Ist es möglich, verschiedene Anwendungen mit dem gleichen Quellcode in Android mit verschiedenen Einstellungen der Elemente und veröffentlichen Sie sie auf Google Play Store zu schaffen? Wenn JA, Wie man solche Konfiguration einstellt?
UPDATE:
diesen Beitrag lesen - multiple-android-application-package-apk-files-from-single-source-code
Dann kam ich mit der gleichen Idee -
1) eine String-Variable Taking, die Werte über dem Anwendungstyp Sie hält an erstellen.
public static final String app_Name = "testApp_CANADA" ;
2) Haben mehrere AndroidManifest.xml
Dateien für mehrere Anwendungen, die Sie benötigen, erstellen APK.
3) Erstellen Sie entsprechende Startaktivitäten für jedes Manifest.
Aber dann wie mehrere AndroidManifest.xml
Dateien in einer einzigen App zu haben?
UPDATE:
Mein erster AndroidManifest.xml
ist in Hauptprojekt Ordner (Anwendungsstammordner), wie üblich, dass wir haben. Betrachten Sie dies für testApp_USA
.
Mein zweiten AndroidManifest.xml
ist in separaten Paket unter Hauptprojekt. Betrachten Sie dies für testApp_CANADA
.
Beide AndroidManifest.xml
haben verschiedene Launcher-Aktivitäten mit entsprechenden Splash-Screens, Symbole definiert. Die Paketnamen werden in beiden unterschiedlich angegeben, sodass sie je nach Bedarf unterschiedliche .apk-Dateien erstellen.
Nun, wie Code, um zwischen testApp_USA
/testApp_CANADA
versehen meiner Haupt App hat Einstellung:
public static final String app_Name = "testApp_CANADA" ;
ODER
Deutlicher,
Wie ein bestimmtes AndroidManifest.xml
nach Aufruf zu der Wert app_Name?
Mit dem aktuellen Setup, das ich habe, wird immer nur zuerst AndroidManifest.xml
aufgerufen.
http://developer.android.com/guide/topics/resources/localization.html - values / rules.xml für jede Region/Lokalisierung, und einfach das lesen? – damian
Obwohl der Link hilfreich ist, behebt er jedoch nicht das Problem, unterschiedliche Apps mit unterschiedlichen Konfigurationen zu erstellen. Es ist eine Art Locale-Lookup und definiert Ressourcen mit Gebietsschema entsprechend der Gerätekonfiguration. –