Android:不同口味权限不同

Android: Different permissions for different flavors

我有一个有两种风格的应用程序...只有其中一种需要一些权限。 我如何才能在构建 apk 期间仅为这种风格请求这些权限?

这些是所需的权限:

 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />

对于每种口味,您必须定义一个包含不同之处的清单

为了回答这个问题,我假设您有两种产品口味,chocolatevanillachocolate 一个是需要额外权限的那个。

第 1 步:在 src/main/AndroidManifest.xml 中,放入所有口味共有的 <uses-permission> 个元素

步骤 #2:创建 src/chocolate/,一个源集,它将包含仅用于 chocolate 构建的源,而不是 vanilla 构建

第 3 步:在 src/chocolate/AndroidManifest.xml 中,在一个空的 <manifest> 元素中,放置 chocolate 需要 vanilla 需要的 <uses-permission> 元素不是

现在,您的 chocolate 构建将拥有所有权限,而 vanilla 构建将仅具有 main 清单中的权限。