Android:不同风格的不同权限

Moh*_*oud 5 android android-productflavors

我有一个带两种口味的应用程序......只有其中一个需要一些权限.如何在构建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" />
Run Code Online (Sandbox Code Playgroud)

Com*_*are 6

出于这个答案的目的,我假设你有两种产品口味,chocolatevanilla.在chocolate一个是需要额外的权限之一.

步骤1:在src/main/AndroidManifest.xml,将<uses-permission>所有口味之间的元素放在一起

步骤2:创建src/chocolate/一个源集,该源集将保存仅用于chocolate构建的源,而不是vanilla构建

步骤#3:在src/chocolate/AndroidManifest.xml,否则空内部<manifest>元件,把<uses-permission>该元件chocolate需要一个vanilla

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