Ich versuche herauszufinden, wie ich den App-Namen meiner Anwendung pro Build-Typ in Gradle ändern kann.
Zum Beispiel möchte ich die Debug-Version <APP_NAME>-debug
und die QA-Version haben <APP-NAME>-QA
.
Ich bin vertraut mit:
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
}
Ich kann jedoch scheinbar keinen Gradle-Befehl finden, um die Änderung der App im Launcher anzuwenden.
quelle
release
Zeichenfolgen übersetzen .release
Teil betrifft , sehe ich das etwas anders, da man möglicherweise auch auf Lokalisierungsprobleme testen möchte, während die Builds "release" und "test" auf demselben Gerät koexistieren können. In einem solchen Fall erhalten beide Builds möglicherweise dasselbe Launcher-Label, was wahrscheinlich zu Verwirrung führt. Das wollte ich vermeiden.release
Modus verwenden möchten . Verwenden Sie diese Zeichenfolgenressource nur fürapp_name
, nicht für eine andere Rolle.app_name
, auch wenn dies nicht erforderlich ist (z. B. haben Sie französische oder deutsche Entwickler, die kein Englisch sprechen und daher übersetzt werden müssen). Testen Sie zum Testen, ob die unveränderterelease
Version vonapp_name
funktioniert, mit ihren Übersetzungen denrelease
Build oder erstellen Sie einennear-release
Build-Typ, der nur das App-ID-Suffix hinzufügt und die Zeichenfolgen in Ruhe lässt.Sie können so etwas verwenden
Sie können @ string / app_name in AndroidManifest.xml-Dateien verwenden.
Stellen Sie sicher, dass Sie app_name aus values / folder entfernen (kein Eintrag mit diesem Namen).
quelle
resValue "string", "app_name", System.getenv("APP_NAME") ?: "MyApp"
Sie können dies mit gradle tun:
Dann in Ihrem
AndroidManifest.xml
Put:Hinweis: Es funktioniert auch mit
productFlavors
.quelle
Um Übersetzungen zu unterstützen, gehen Sie wie folgt vor:
1. Entfernen Sie die Zeichenfolge "app_name".
2. Zum Gradle hinzufügen
3. Legen Sie den App-Namen im Manifest als "@ string / app_name" fest.
4. Fügen Sie Werte zu strings.xml hinzu
quelle
app_name
im Abschnitt productFlavors hinzufügen könnenbuild.gradle
. Ein äußerst bequemer und flexibler Ansatz, wenn Sie ihn brauchen.Der App-Name ist für den Benutzer sichtbar. Aus diesem Grund empfiehlt Google, ihn in Ihrer Datei strings.xml zu behalten. Sie können eine separate Zeichenfolgendatei definieren, die Zeichenfolgen enthält, die für Ihre buildTypes spezifisch sind. Es hört sich so an, als hätten Sie einen benutzerdefinierten
qa
buildType. Wenn dies nicht der Fall ist, ignorieren Sie den folgenden Qa-Teil.quelle
Wir benötigen eine Lösung zur Unterstützung des App-Namens bei der Lokalisierung (für mehrere Sprachen). Ich habe mit der @ Nick Unuchek-Lösung getestet, aber die Erstellung ist fehlgeschlagen (@ string / nicht gefunden). eine kleine Änderung, um diesen Fehler zu beheben: build.gradle-Datei:
values \ strings.xml:
values-de \ strings.xml:
Manifest.xml:
quelle
tools:replace="android:label"
inapplication
inAndroidManifest
Eine dynamischere gradle-basierte Lösung (z. B. einmal einen Basisanwendungsnamen in main festlegen
strings.xml
und vermeiden, sich in jeder Kombination aus Geschmack und Build-Typ zu wiederholen) finden Sie instrings.xml
meiner Antwort hier: https://stackoverflow.com/a/32220436/1128600quelle
Sie können
strings.xml
in verschiedenen Ordnern verwenden, siehe Android separate Zeichenfolgenwerte für Release- und Debug-Builds .Erstellen Sie also diese Datei:
Fügen Sie es dann in
app\src\debug\res\values\
undapp\src\release\res\values\
Ordner ein. Ersetzen Sie "Ihr App-Name" in Debug- und Release-Dateien. Entfernenapp_name
Artikel ausstrings.xml
inapp\src\main\res\values\
Ordnern.In
AndroidManifest
dir wirst du das gleiche habenÜberhaupt keine Änderungen. Auch wenn Sie eine Bibliothek mit der
AndroidManifest
Datei und hinzugefügt habenstrings.xml
.quelle
Wenn der Autor dies in Gradle verlangt , können wir davon ausgehen, dass er dies im Skript und nicht in den Konfigurationsdateien tun möchte. Da sowohl Android Studio als auch Gradle im letzten Jahr (~ 2018) stark aktualisiert und modifiziert wurden, scheinen alle anderen oben genannten Antworten übermäßig verzerrt zu sein. Der einfachste Weg ist, Folgendes zu Ihrem hinzuzufügen
app/build.gradle
:quelle