In meiner Gradle-Datei sind zwei Build-Typen festgelegt: debug
und release
. Ich möchte in der Lage sein, ein anderes App-Symbol für den debug
Build-Typ festzulegen. Gibt es eine Möglichkeit, dies nur durch den Build-Typ zu erreichen, ohne auf Produktaromen einzugehen? Die Datei build.gradle befindet sich unten.
apply plugin: 'android'
//...
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 30
versionName "2.0"
}
buildTypes {
debug {
packageNameSuffix '.debug'
versionNameSuffix '-SNAPSHOT'
}
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Antworten:
Herausgefunden. Sie müssen lediglich einen separaten src-Ordner mit
debug
den verschiedenen Symbolen erstellen . Wenn Ihr Projektlayout beispielsweise wie folgt lautet und Ihr Startsymbol aufgerufen wirdic_launcher.png
:Um ein separates Symbol für den Debug-Build-Typ hinzuzufügen, fügen Sie Folgendes hinzu:
Wenn Sie dann unter dem Debug-Build-Typ erstellen, wird der im Debug-Ordner gefundene ic_launcher verwendet.
quelle
Der bessere Weg: InsanityOnABuns Antwort
AndroidManifest.xml
build.gradle
Die Github-URL: Erstellen Sie eine App mit mehreren Versionen mit Gradle
quelle
manifestPlaceholders
einzige in der Ausführungsphase oder hinter undif
Anweisung festlegen . Ich mache das, weil ich einen nicht produktiven Build-Typ habe, der zwei verschiedene Symbole haben kann (und ich möchte keinen vollständigen Build-Typ mit nur einem Unterschied zum anderen haben)Sie können das Symbol auch in der partiellen AndroidManifest.xml-Datei der Produktversion angeben:
Dadurch wird das Symbol überschrieben, das Sie in der ursprünglichen AndroidManifest.xml angegeben haben
quelle
ic_launcher.png
müssen Sie wissen, welche welche ist, nur wo sie sich befindet oder sie tatsächlich öffnen (nicht so) nett). Ich wusste nicht, dass diese Art der Erweiterung für die Manifestdatei überhaupt möglich ist, habe sie noch nie zuvor auf SO oder anderswo erwähnt. Sicher elegantZum Abrufen verschiedener Symbole bei Verwendung verschiedener Geschmacksrichtungen mit mehreren Dimensionen, z.
Dies kann erreicht werden als:
Legen Sie zunächst die Debug-Ressourcen in separaten Ordnern ab, z.
Zweitens bedeutet der Schlüssel mit mehreren Geschmacksdimensionen, dass der Name des Quellensatzes alle möglichen Geschmackskombinationen enthalten muss, auch wenn einige dieser Dimensionen das Symbol nicht beeinflussen.
Um dies zu verdeutlichen, funktioniert Folgendes nicht, wenn mehrere Dimensionen verwendet werden:
quelle
Schritt für Schritt Lösung, einschließlich Ersetzen von mipmap-anydpi-v26 und Speichern von Dateien für alle Dimensionen:
Definieren Sie zuerst in build.gradle (Modul: App) Ihren Build-Typ in Android -> buildTypes -> Debug, intern usw.
Klicken Sie in der Projekthierarchie unter Android mit der rechten Maustaste auf App -> Neu -> Image Asset -> Wählen Sie unter Pfad Ihr Symbol aus -> Alle anderen Änderungen an Hintergrundebene und Legacy -> Weiter -> Wählen Sie im Res-Verzeichnis den gewünschten Build-Typ aus ( Debug, intern, main usw.) -> Fertig stellen
Auf diese Weise ersetzen die Symbole jedes alte Symbol, das Sie hatten.
quelle