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
Dans le flux
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
Pour recevoir la valeur ajoutée à gradle.properties ci-dessus, écrivez comme ceci.
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 ***.
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