Ich habe Probleme beim Definieren von zwei verschiedenen Manifestdateien für meine Varianten in Android Studio. Dies ist meine aktuelle Projektstruktur:
Das AndroidManifest.xml
im free
Geschmack sieht so aus:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>
Das AndroidManifest.xml
in der main
Variante hat keine Verwendungsberechtigungen, enthält jedoch den Rest des Manifestcodes, der von allen Varianten gemeinsam genutzt wird.
Das AndroidManifest.xml
im pro
Geschmack sieht so aus:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
</manifest>
build.gradle definiert die beiden Geschmacksrichtungen wie
productFlavors {
free {
applicationId 'se.example.package.free'
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
pro {
minSdkVersion 14
applicationId 'se.example.package.pro'
targetSdkVersion 21
versionCode 2
versionName '1.1'
}
}
Das Ergebnis, das ich erwarte, ist, dass die verschiedenen Geschmacksrichtungen unterschiedliche Verwendungsberechtigungen definieren. Das ist nicht der Fall. Das Ergebnis ist derzeit, dass beide Geschmacksrichtungen nur die in der Pro-Geschmacksrichtung definierten <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
definieren AndroidManifest.xml
.
Ich habe versucht:
- Projekt reinigen
- Projekt neu erstellen
- Starten Sie Android Studio neu
- Gradle synchronisieren
Aber ohne Erfolg. Wie soll ich das beheben? Jede Hilfe wird geschätzt.
BEARBEITEN 1
Ich änderte die Lage der einzelnen Aromen AndroidManifest.xml
Datei von jedem der res
Ordner free
und pro
Ordner. Das Ergebnis davon:
- Pro Flavour zeigt die Lizenzberechtigung wie erwartet an.
- Free Flavour zeigt Berechtigungen aus beiden
AndroidManifest.xml
Dateien, Lizenz- und Netzwerkberechtigungen (sollte nur Netzwerk sein)
Dies scheint ein Problem der Projektstruktur zu sein. Was soll man daraus machen?
BEARBEITEN 2
Ich habe die Zusammenführungsberichte gezogen, wie Commonsware angedeutet hat. Dies sind die Berichte zu uses-permissions
Kostenlos:
uses-permission#com.android.vending.CHECK_LICENSE
ADDED from qwknoteGIT:licencing-library:unspecified:26:5
android:name
ADDED from qwknoteGIT:licencing-library:unspecified:26:22
Profi:
uses-permission#com.android.vending.CHECK_LICENSE
MERGED from qwknoteGIT:licencing-library:unspecified:26:5
tools:node
Deklarationstools verwendest. Android.com/tech-docs/new-build -System / Benutzerhandbuch /…