[JAVA] [Android] Modifiez le nom de l'application et l'icône de l'application pour chaque saveur

Lors du développement d'une application Android, vous pouvez définir Flavor pour chaque environnement, tel que l'environnement de développement, l'environnement de préparation et l'environnement de production. Voici un résumé de la façon de modifier le nom de l'application et l'icône de l'application afin que vous puissiez savoir en un coup d'œil quelles applications ont des environnements différents.

Définir la saveur

Définissez Flavor dans build.gradle de l'application. Cette fois, à titre d'exemple, nous allons préparer trois environnements: dev (développement), stg (mise en scène) et prod (production).

build.gradle


android {

    //réduction

    //Ajouter à partir d'ici
    flavorDimensions "environment"
    productFlavors {
        dev {
            dimension "environment"
            applicationIdSuffix ".dev"
            versionNameSuffix ".dev"
        }
        stg {
            dimension "environment"
            applicationIdSuffix ".stg"
            versionNameSuffix ".stg"
        }
        prod {
            dimension "environment"
        }
    }
    //Ajouter ici
}

Changer le nom de l'application pour chaque saveur

Créez un fichier strings.xml pour chaque saveur. Cliquez avec le bouton droit sur res / values-> New-> Values Resource File comme indiqué ci-dessous. スクリーンショット 2020-10-30 1.54.18.png

Ensuite, définissez Nom de fichier sur chaînes et sélectionnez dev pour Ensemble de sources. Ce dev a été défini dans Flavour plus tôt. スクリーンショット 2020-10-30 1.55.45.png

Cela créera un strings.xml pour l'environnement dev. スクリーンショット 2020-10-30 1.56.40.png

Vous pouvez changer le nom de l'application en définissant le nom de l'application pour chaque environnement dans ʻapp_name de this strings.xml`. スクリーンショット 2020-10-30 2.02.45.png

De même, créez strings.xml pour stg et définissez le nom de l'application. (Vous devez définir Build Variants sur stgDebug pour voirstrings.xml (stg)) Nous ne créons pas de strings.xml séparé parce que nous voulons que l'environnement prod utilise la valeur par défaut string.xml.

Comme indiqué ci-dessous, c'est OK si le nom de l'application est modifié pour chaque environnement. スクリーンショット 2020-10-30 2.11.49.png

Changer l'icône de l'application pour chaque saveur

Cette fois, j'ai utilisé une bibliothèque appelée easylauncher-gradle-plugin.

Tout d'abord, ajoutez les paramètres au build.gradle du projet.

build.gradle


buildscript {
    
    //réduction

    dependencies {

        //réduction

        classpath 'com.akaita.android:easylauncher:1.3.1'  // <-Ajouter ici
    }
}

Ensuite, ajoutez les paramètres à build.gradle de l'application.

build.gradle


plugins {

    //réduction

    id 'com.akaita.android.easylauncher'  // <-Ajouter ici
}

android {

    //réduction

    //Paramètres de saveur ajoutés plus tôt
    flavorDimensions "environment"
    productFlavors {
        dev {
            dimension "environment"
            applicationIdSuffix ".dev"
            versionNameSuffix ".dev"
        }
        stg {
            dimension "environment"
            applicationIdSuffix ".stg"
            versionNameSuffix ".stg"
        }
        prod {
            dimension "environment"
        }
    }
}

//Ajouter à partir d'ici
easylauncher {
    iconNames "@mipmap/ic_launcher_foreground"
    foregroundIconNames "@mipmap/ic_launcher_foreground"

    defaultFlavorNaming = true

    buildTypes {
        debug {}
        release {}
    }

    productFlavors {
        dev {
            filters = grayRibbonFilter()
        }
        stg {
            filters = greenRibbonFilter()
        }
        prod {
            enable false  //Ne pas étiqueter en production
        }
    }
}
//Ajouter ici

//réduction

Avec les paramètres jusqu'à ce point, l'icône changera pour chaque application. Cette fois, nous avons également défini une icône appropriée. スクリーンショット 2020-10-30 3.01.49.png

C'est très facile à comprendre! Pour les autres paramètres de la bibliothèque, reportez-vous à la Documentation.

Recommended Posts

[Android] Modifiez le nom de l'application et l'icône de l'application pour chaque saveur
Modifier le fuseau horaire par défaut de l'application rails
Changez la cible d'injection pour chaque environnement avec Spring Boot 2
valeur par défaut d'Android: exporté
Valeurs par défaut pour MaxHeapSize et InitialHeapSize
Modifier le fuseau horaire par défaut de l'application rails
Modifier le nom de fichier et la destination de sortie du fichier d'erreur JavaVM
Procédure de publication d'applications Android adaptée aux débutants, en difficulté pour la première version first
Causes techniques et contre-mesures pour les points auxquels j'étais accro avec la première application Android et Kotlin
[Rails] Comment changer le titre de la page du navigateur pour chaque page
[Android Studio] [Pour les débutants] Expliquons grossièrement l'écran et le répertoire
Introduction au développement d'applications Android 1 Installation de JDK et d'Android Studio pour mac
[Android] Causes et remèdes pour TransactionTooLargeException
Android Studio montre deux méthodes qui n'ont qu'un seul bouton onClick, Java lève une exception et ruine l'application
L'histoire de la sortie de l'application Android sur le Play Store pour la première fois.
L'application Android plante. Cliquez simplement sur un bouton et il tombera.
[Android 9.0 Pie Java] RecyclerView Appuyez et maintenez pour afficher un menu contextuel dont le contenu change pour chaque élément.
Sortie de la somme de chaque nom et de son contenu à partir du tableau multiple
Obtenez des informations vidéo YouTube avec Retrofit et conservez-les dans l'application Android.
[Rails] Obtenez le nom du chemin de l'URL avant la transition et modifiez la destination du lien
Si vous utilisez Android Room et que vous souhaitez modifier la définition de colonne
Redimensionner ou masquer Button et EditText placés à l'écran pour chaque page
J'ai changé le nom de la colonne, mais on m'a dit la méthode Undefined pour la colonne avant le changement.