(Android-Entwicklung) Erläuterung der Kompilierungskonfigurationsdatei build.gradle und der laufenden Konfigurationsdatei AndroidManifest.xml

Geben Sie eine detaillierte Erläuterung der Kompilierungskonfigurationsdatei build.gradle und der laufenden Konfigurationsdatei AndroidManifest.xml im Android-Entwicklungsprojekt.

Inhaltsverzeichnis

Kompilieren Sie die Konfigurationsdatei build.gradle

Beachten

Führen Sie die Konfigurationsdatei AndroidManifest.xml aus


Kompilieren Sie die Konfigurationsdatei build.gradle

Das neu erstellte App-Projekt verfügt standardmäßig über zwei build.gradle, eines ist build.gradle auf Projektebene und das andere ist build.gradle auf Modulebene.

  • Der build.gradle auf Projektebene gibt die allgemeinen Kompilierungsregeln des aktuellen Projekts an. Öffnen Sie die Datei und suchen Sie die Repositorys und Abhängigkeitsknoten unter dem Buildscript. Der Repository-Knoten wird verwendet, um die Netzwerk-Warehouse-Adresse des Android Studio-Plug-Ins festzulegen. und der Abhängigkeitsknoten wird verwendet, um die Gradle-Versionsnummer des Plug-Ins festzulegen. Da sich das offizielle Google-Warehouse im Ausland befindet und die Download-Geschwindigkeit relativ langsam ist, können Sie die Alibaba Cloud-Warehouse-Adresse im Repository-Knoten hinzufügen, um inländischen Entwicklern das Herunterladen relevanter Plug-Ins zu erleichtern. Der geänderte Inhalt des Buildscript-Knotens lautet wie folgt:
  • Das build.gradle auf Modulebene entspricht einem bestimmten Modul, und jedes Modul verfügt über ein eigenes build.gradle, das die detaillierten Kompilierungsregeln des aktuellen Moduls angibt.
android {
    // 指定编译用的SDK版本号。比如30表示使用Android 11.0编译
    compileSdkVersion 30
    // 指定编译工具的版本号。这里的头两位数字必须与compileSdkVersion保持一致,具体的版本号可在sdk安装目录的“sdk\build-tools”下找到
    buildToolsVersion "30.0.3"
   
    defaultConfig {
        // 指定该模块的应用编号,也就是App的包名
        applicationId "com.example.chapter02"
        // 指定App适合运行的最小SDK版本号。比如19表示至少要在Android 4.4上运行
        minSdkVersion 19
        // 指定目标设备的SDK版本号。表示App最希望在哪个版本的Android上运行
        targetSdkVersion 30
        // 指定App的应用版本号
        versionCode 1
        // 指定App的应用版本名称
        versionName "1.0"
        
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-androidoptimize.txt'), 'proguard-rules.pro'
        }
    }
}

// 指定App编译的依赖信息
dependencies {
    // 指定引用jar包的路径
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 指定编译Android的高版本支持库。如AppCompatActivity必须指定编译appcompat库
    //appcompat库各版本见
https://mvnrepository.com/artifact/androidx.appcompat/appcompat
    implementation 'androidx.appcompat:appcompat:1.2.0'
    // 指定单元测试编译用的junit版本号
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

Beachten

Warum sind die Erweiterungen dieser beiden Kompilierungskonfigurationsdateien Gradle? Dies liegt daran, dass sie das Gradle-Tool verwenden, um die Kompilierungs- und Build-Vorgänge abzuschließen. Die Version des Gradle-Tools wird in gradle\wrapper\gradle-wrapper.properties konfiguriert. Sie können auch das Menü Datei→Projektstruktur→Projekt auswählen, um die Gradle-Version auf der Popup-Einstellungsseite zu ändern. Beachten Sie, dass jede Version von Android Studio eine entsprechende Gradle-Version hat. Nur wenn die beiden Versionen korrekt übereinstimmen, kann das App-Projekt erfolgreich kompiliert werden.

Führen Sie die Konfigurationsdatei AndroidManifest.xml aus

AndroidManifest.xml gibt die laufenden Konfigurationsinformationen der App an. Es handelt sich um eine XML-Beschreibungsdatei. Der anfängliche Inhalt lautet wie folgt:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.chapter02">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Main2Activity"></activity>
        <!-- activity节点指定了该App拥有的活动页面信息,其中拥有
android.intent.action.MAIN的activity说明它是入口页面 -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Es ist ersichtlich, dass der Stammknoten von AndroidManifest.xml ein Manifest ist und sein Paketattribut den Paketnamen der App angibt. Unter dem Manifest befindet sich ein Anwendungsknoten, dessen Attribute wie folgt beschrieben werden:

android:allowBackup, ob Anwendungssicherung zugelassen werden soll. Ermöglicht Benutzern das Sichern von APK-Installationspaketen und Anwendungsdaten von Systemanwendungen und Anwendungen von Drittanbietern, um Anwendungen nach dem Flashen oder Datenverlust wiederherzustellen. Benutzer können Anwendungsdaten über ADB-Backup und ADB-Wiederherstellung sichern und wiederherstellen. Wahr bedeutet erlaubt, falsch bedeutet nicht erlaubt.

  • android:icon gibt das Symbol an, das von der App auf dem Bildschirm des Mobiltelefons angezeigt wird.
  • android:label gibt den Namen der App an, die auf dem Bildschirm des Mobiltelefons angezeigt wird.
  • android:roundIcon gibt das abgerundete Symbol der App an.
  • android:supportsRtl, ob die Reihenfolge der arabischen/persischen Textanordnung von rechts nach links unterstützt werden soll. Wenn es wahr ist, bedeutet es, dass es unterstützt wird, wenn es falsch ist, bedeutet es, dass es nicht unterstützt wird.
  • android:theme gibt den Anzeigestil der App an.

Beachten Sie, dass sich unter der Anwendung ein Aktivitätsknoten befindet, bei dem es sich um die Registrierungsanweisung der Aktivitätsseite handelt. Nur wenn der Aktivitätsknoten in AndroidManifest.xml korrekt konfiguriert ist, kann zur Laufzeit auf die entsprechende Aktivitätsseite zugegriffen werden. Die anfänglich konfigurierte MainActivity ist die Standard-Startseite der App. Der Grund, warum diese Seite die Startseite der App ist, liegt darin, dass ihr Aktivitätsknoten auch mit den folgenden Filterinformationen konfiguriert ist:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Das vom Aktionsknoten festgelegte android.intent.action.MAIN gibt an, dass diese Seite die Einstiegsseite der App ist. Diese Seite wird zuerst geöffnet, wenn die App gestartet wird. Der vom Kategorieknoten festgelegte android.intent.category.LAUNCHER bestimmt, ob das App-Symbol auf dem Bildschirm des Mobiltelefons angezeigt wird. Wenn gleichzeitig zwei Aktivitätsknoten mit darin festgelegtem android.intent.category.LAUNCHER vorhanden sind, dann die beiden Apps werden auf dem Desktop angezeigt. Symbol. Die beiden oben genannten Knotenregeln sind möglicherweise zunächst nicht leicht zu verstehen. Der Leser muss sich nur daran erinnern, dass die Standard-Homepage mit beiden Filterregeln konfiguriert werden muss.

Guess you like

Origin blog.csdn.net/danielxinhj/article/details/127736694