Auf dieser Seite werden nützliche App-Einstellungen in build.gradle.kts
auf Modulebene beschrieben.
-Datei. Sie erhalten nicht nur einen Überblick über wichtige Eigenschaften, die im
build.gradle.kts
-Datei enthält, finden Sie hier Informationen:
- Anwendungs-ID für verschiedene Build-Konfigurationen ändern
- Namespace unabhängig von der Anwendungs-ID sicher anpassen
App-ID festlegen
Jede Android-App hat eine eindeutige App-ID, die wie eine Java-Anwendung aussieht. oder Kotlin-Paket Name, z. B. com.example.myapp. Mit dieser ID wird Ihre App eindeutig auf der und im Google Play Store erhältlich.
Ihre Anwendungs-ID wird durch das Attribut applicationId
in der
build.gradle.kts
-Datei, wie hier gezeigt. Den Wert von applicationId
aktualisieren
indem Sie com.example.myapp
durch Ihre
App-ID:
Kotlin
android { defaultConfig { applicationId = "com.example.myapp" minSdk = 15 targetSdk = 24 versionCode = 1 versionName = "1.0" } ... }
Cool
android { defaultConfig { applicationId "com.example.myapp" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" } ... }
Obwohl die Anwendungs-ID wie ein herkömmliches Kotlin- oder Java-Paket aussieht Namen, die Benennungsregeln für die Anwendungs-ID, sind etwas restriktiver:
- Er muss mindestens zwei Segmente enthalten, also einen oder mehrere Punkte.
- Jedes Segment muss mit einem Buchstaben beginnen.
- Alle Zeichen müssen alphanumerisch oder Unterstrich [a–zA–Z0–9_] sein.
Wenn Sie ein neues Projekt in Android erstellen
Studio, die applicationId
ist
automatisch den bei der Einrichtung ausgewählten Paketnamen zugewiesen. Ich
beide Properties von da an unabhängig umschalten,
wird nicht empfohlen.
Beim Festlegen der Anwendungs-ID sollten Sie Folgendes tun:
- Behalten Sie die Anwendungs-ID im Namespace bei. Die Unterscheidung zwischen den können etwas verwirrend sein, aber wenn Sie sie nicht ändern, ist das kein Grund zur Sorge.
- Ändern Sie die App-ID nach der Veröffentlichung Ihrer App nicht. Wenn Sie es ändern, Der nachfolgende Upload wird im Google Play Store als neue App behandelt.
- Definieren Sie die Anwendungs-ID explizit. Wenn die Anwendungs-ID nicht explizit
applicationId
-Attribut definiert ist, übernimmt sie automatisch -Wert als Namespace. Dies bedeutet, dass durch das Ändern des Namespace Anwendungs-ID, die normalerweise nicht Ihren Vorstellungen entspricht.
Anwendungs-ID für Testzwecke ändern
Die Build-Tools wenden standardmäßig eine Anwendungs-ID auf Ihre
Instrumentierungstest
APK mit der App-ID für die angegebene Build-Variante, angehängt mit
.test
Ein Test-APK für das
com.example.myapp.free
Build-Variante
enthält die Anwendungs-ID
com.example.myapp.free.test
.
Auch wenn es nicht unbedingt erforderlich sein sollte, können Sie die Anwendungs-ID ändern, indem Sie
indem du das Attribut testApplicationId
in deinem defaultConfig
oder
productFlavor
Block.
Namespace festlegen
Jedes Android-Modul hat einen Namespace, der als Kotlin- oder Java-Code verwendet wird.
Paketname für
Die generierten Klassen R
und BuildConfig
.
Ihr Namespace wird durch das Attribut namespace
in der
build.gradle.kts
, wie im folgenden Code-Snippet dargestellt. Das namespace
ist anfangs auf den Paketnamen festgelegt, den Sie bei der Einrichtung
Erstellen Sie Ihr Projekt.
Kotlin
android { namespace = "com.example.myapp" ... }
Cool
android { namespace "com.example.myapp" ... }
Während Sie Ihre App in das finale Anwendungspaket (APK) entwickeln,
Build-Tools verwenden den Namespace als Namespace für das von Ihrer Anwendung generierte R
, über die auf Ihre
App-Ressourcen.
In der vorherigen Build-Datei wird die Klasse R
beispielsweise an folgender Stelle erstellt:
com.example.myapp.R
.
Der Name, den Sie für das Attribut namespace
der Datei build.gradle.kts
festgelegt haben
sollte immer dem Namen des Basispakets Ihres Projekts entsprechen.
Aktivitäten und anderen App-Code. Sie können weitere Teilpakete in
Ihr Projekt. Diese Dateien müssen jedoch die R
-Klasse mithilfe der Methode
Namespace aus dem Attribut namespace
.
Verwenden Sie für einen einfacheren Workflow denselben Namespace wie Ihren Anwendungs-ID, wie sie standardmäßig der Fall ist.
Namespace ändern
In den meisten Fällen sollten Sie den Namespace und die Anwendungs-ID da dies standardmäßig der Fall ist. Möglicherweise müssen Sie jedoch den Namespace unter wenn Sie Ihren Code neu organisieren oder Namespace-Konflikte vermeiden möchten.
Ändern Sie in diesen Fällen den Namespace, indem Sie das Attribut
namespace
in der build.gradle.kts
-Datei Ihres Moduls unabhängig vom
Anwendungs-ID. Stellen Sie vorher sicher, dass Ihre Anwendungs-ID
explizit definiert, sodass durch eine Änderung des Namensraums nicht auch die
Anwendungs-ID. Weitere Informationen dazu, wie sich der Namespace auf den
Anwendungs-ID finden Sie unter App-ID festlegen.
Wenn Sie unterschiedliche Namen für die namespace
haben
und der Gradle-Datei applicationId
, die Build-Tools kopieren
Fügen Sie die App-ID am Ende des Builds in die finale Manifestdatei Ihrer App ein.
Wenn Sie also Ihre AndroidManifest.xml
-Datei nach einem Build prüfen,
ist das Attribut package
auf den Wert
Anwendungs-ID. Im Attribut package
des zusammengeführten Manifests befindet sich der
Ihre App wird vom Google Play Store und von der Android-Plattform erkannt.
Namespace für Tests ändern
Der Standard-Namespace für die Quellgruppen androidTest
und test
ist der Haupt-Namespace.
Namespace mit .test
am Ende. Wenn zum Beispiel der Parameter
Das Attribut namespace
in der Datei build.gradle
ist
com.example.myapp
,
ist der Test-Namespace standardmäßig auf
com.example.myapp.test
.
Verwenden Sie zum Ändern des Namespace für Tests die Methode
testNamespace
enthalten, wie im folgenden Code-Snippet gezeigt:
Kotlin
android { namespace = "com.example.myapp" testNamespace = "com.example.mytestapp" ... }
Cool
android { namespace "com.example.myapp" testNamespace "com.example.mytestapp" ... }
Achtung: Legen Sie testNamespace
und
namespace
auf denselben Wert, andernfalls Namespace
dass es zu Kollisionen kommt.
Weitere Informationen zum Testen finden Sie unter Apps unter Android testen.