我在Android Studio中为自己的口味定义两个不同的清单文件时遇到问题。 这是我当前的项目结构:
res风味的uses-permissions看起来像这样:
package="se.example.package">
res风味中的uses-permissions没有使用许可,但包含所有风味之间共享的其余清单代码。
res风味的uses-permissions看起来像这样:
package="se.example.package">
build.gradle定义了两种风格,例如
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'
}
}
我期望的结果是不同的口味定义了不同的使用权限。 不是这种情况。 当前的结果是,这两种风味仅在原味中定义了uses-permissions,如res中所定义。
我试过了:
清洁项目
重建项目
重新启动Android Studio
同步gradle
但是没有成功。 我该如何解决? 任何帮助表示赞赏。
编辑1
我将每个风味uses-permissions文件的位置从每个res文件夹更改为free和pro文件夹。 结果:
Pro Favourite会显示预期的许可证许可。
自由味道显示来自两个uses-permissions的权限文件,许可证和网络权限(只能是网络)
感觉就像是项目结构的问题。 该怎么做?
编辑2
我按照Commonsware的提示提取了合并报告,这些是有关uses-permissions的报告
自由:
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
优点:
uses-permission#com.android.vending.CHECK_LICENSE
MERGED from qwknoteGIT:licencing-library:unspecified:26:5