[JAVA] [Remarque] Réglage des informations de base (gradle)

Retour

paramètres de gradle

Il semble que les informations de configuration de base de l'application soient gérées par gradle et manifestes. Il est normal de s'en tenir aux manifestes, mais il semble préférable d'utiliser gradle

Définissez une valeur dans gradle.properties

Dans le flux

  1. Ajoutez une valeur à gradle.properties (propriétés du projet)
  2. Décrivez pour obtenir la valeur des propriétés dans build.gradle (module: app) En faisant cela, il générera les valeurs nécessaires au moment de la construction.

Essayez d'ajouter des informations de version pour l'application elle-même et la base de données interne

gradle.properties


   #Informations de base de l'application
   version_major=1
   version_minor=0
   db_name=DB_name
   db_version=1

Ça ressemble à ça image.png

Obtenez la valeur avec build.gradle

Pour recevoir la valeur ajoutée à gradle.properties ci-dessus, écrivez comme ceci. image.png

build.gradle


        versionName = project.property("version_major") + "." + project.property("version_minor");
        archivesBaseName = "samplepack-" + defaultConfig.versionName

Dans la ligne ci-dessus, combinez les valeurs de version_major et version_minor Génération du nom de version de l'application. La ligne suivante utilise versionName pour générer les archivesBaseName. Cette valeur est utilisée pour le nom de fichier lors de la génération de l'application. Au fait, il semble que la partie defaultConfig où ces deux lignes sont écrites ne peut enregistrer la valeur que dans la variable initialement définie dans l'application.

Ensuite, pour buildTypes,

build.gradle


    buildTypes {
        debug {
            buildConfigField "String", "dbName", "\"${project.property("db_name")}_DEV\""
            buildConfigField "String", "dbVersion", "\"${project.property("db_version")}\""
            buildConfigField "String", "env", "\"DEV\""
        }
        release {
            buildConfigField "String", "dbName", "\"${project.property("db_name")}_PRD\""
            buildConfigField "String", "dbVersion", "\"${project.property("db_version")}\""
            buildConfigField "String", "env", "\"PRD\""
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

Ici, contrairement à defaultConfig, vous pouvez créer librement des valeurs. La possibilité de générer des valeurs différentes pour le débogage et la publication est particulièrement appréciée. Dans ce cas, la description de _DEV / _PRD est ajoutée après le nom de la base de données, Le contenu de la variable appelée env est commuté par DEV / PRD. Cela facilite la connexion à différentes sources de données et URL pour le développement et l'exploitation. *** Peut être géré par une seule source ***.

Générer BuildConfig.java

Avec les paramètres jusqu'à ce point, ~ \ app \ build \ generated \ source \ buildConfig \ ~ Un fichier appelé `` BuildConfig.java '' est généré dans

BuildConfig.java


/**
 * Automatically generated file. DO NOT MODIFY
 */
package sample.pack;

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "sample.pack";
  public static final String BUILD_TYPE = "debug";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0";
  // Fields from build type: debug
  public static final String dbName = "DB_name_DEV";
  public static final String dbVersion = "1";
  public static final String env = "DEV";
}

Cette valeur peut être récupérée n'importe où avec new.

MainActivity.java


        //Affichage des informations sur l'application
        BuildConfig conf = new BuildConfig();

        Log.d("nom du paquet",conf.APPLICATION_ID);
        Log.d("nom de la version",conf.VERSION_NAME);
        Log.d("Nom de la base de données",conf.dbName);
        Log.d("Version DB",conf.dbVersion);
        Log.d("environnement",conf.env);

Lorsque vous sortez le journal, il ressemble à ceci image.png

Retour

Recommended Posts

[Remarque] Réglage des informations de base (gradle)
[Diviser] rails memo Paramètres de base Paramètres initiaux
Remarque: paramètres javaMail dans Raspeye