Phonegap Android权限

时间:2015-02-21 14:58:29

标签: android cordova phonegap-build android-permissions

我有一个Phonegap应用程序,我正在开发和测试Android。问题是,当我发布到设备时,Android Manifest充满了我没有要求的权限请求。

我尝试添加:

<preference name="permissions" value="none" />

到config.xml但它仍然不起作用。

我怎样才能只允许“网络许可”?

2 个答案:

答案 0 :(得分:2)

如果您正在使用PhoneGap Build(而不是命令行工具)并且某些插件正在添加您知道您的应用不需要的权限,则可以通过向config.xml添加行来删除这些权限,如:

<gap:config-file platform="android" parent="/manifest" mode="delete">
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
</gap:config-file>  

答案 1 :(得分:1)

您必须从AndroidManifest中删除不需要的权限。这些权限标有<uses-permission>。例如:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

请注意,如果您删除了应用需要正常运行的权限,您的应用就会崩溃。

此外,如果需要,某些外部库会添加自己的权限。如果您确实使用外部库,请检查它们需要哪些权限。这些权限在编译时定义,在清单文件中不可见。

修改

这是您在Android Studio中找到清单文件的地方

Android Studio Project Structure

这是您在Eclipse中找到它的地方

Eclipse Project Structure