[JAVA] [Hinweis] Grundlegende Informationseinstellung (Gradle)

Zurück

Gradle-Einstellungen

Es scheint, dass die grundlegenden Einstellungsinformationen der Anwendung von Gradle und Manifesten verwaltet werden. Es ist in Ordnung, sich an Manifeste zu halten, aber es scheint besser, Gradle zu verwenden

Legen Sie einen Wert in gradle.properties fest

Im Fluss

  1. Fügen Sie gradle.properties (Projekteigenschaften) einen Wert hinzu.
  2. Beschreiben Sie, wie der Wert von Eigenschaften in build.gradle (Modul: App) abgerufen wird. Auf diese Weise werden beim Erstellen die erforderlichen Werte generiert.

Versuchen Sie, Versionsinformationen für die App selbst und die interne Datenbank hinzuzufügen

gradle.properties


   #Grundlegende Informationen der App
   version_major=1
   version_minor=0
   db_name=DB_name
   db_version=1

Es sieht aus wie das image.png

Holen Sie sich den Wert mit build.gradle

Schreiben Sie folgendermaßen, um den Mehrwert für gradle.properties zu erhalten. image.png

build.gradle


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

Kombinieren Sie in der obigen Zeile die Werte von version_major und version_minor Generieren des Versionsnamens der App. In der nächsten Zeile wird versionName verwendet, um den archivesBaseName zu generieren. Dieser Wert wird für den Dateinamen verwendet, wenn die App erstellt wird. Übrigens scheint der defaultConfig-Teil, in den diese beiden Zeilen geschrieben werden, nur den Wert für die ursprünglich in der Anwendung definierte Variable registrieren zu können.

Als nächstes für 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'
        }
    }

Hier können Sie im Gegensatz zu defaultConfig frei Werte erstellen. Besonders dankbar ist die Möglichkeit, unterschiedliche Werte für Debug und Release zu generieren. In diesem Fall wird die Beschreibung von _DEV / _PRD nach dem DB-Namen hinzugefügt. Der Inhalt der Variablen env wird von DEV / PRD umgeschaltet. Dies erleichtert die Verbindung zu verschiedenen Datenquellen und URLs für Entwicklung und Betrieb. *** Kann von einer Quelle verwaltet werden ***.

Generieren Sie BuildConfig.java

Mit den Einstellungen bis zu diesem Punkt `~ \ app \ build \ generate \ source \ buildConfig \ ~` Eine Datei mit dem Namen `` `BuildConfig.java``` wird in generiert

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";
}

Dieser Wert kann überall mit new abgerufen werden.

MainActivity.java


        //App-Informationsanzeige
        BuildConfig conf = new BuildConfig();

        Log.d("Paketnamen",conf.APPLICATION_ID);
        Log.d("Versionsname",conf.VERSION_NAME);
        Log.d("DB-Name",conf.dbName);
        Log.d("DB-Version",conf.dbVersion);
        Log.d("Umgebung",conf.env);

Wenn Sie das Protokoll ausgeben, sieht es so aus image.png

Zurück

Recommended Posts

[Hinweis] Grundlegende Informationseinstellung (Gradle)
[Divise] Rails Memo Grundeinstellungen Grundeinstellungen
Hinweis: JavaMail-Einstellungen in Raspeye