如何在使用PhoneGap Build创建的Android应用中移除权限?

4

我使用PhoneGap Build制作了一个WEB应用程序(Android APK)。它只是一个简单的1页应用程序,其中只有文本和一些小的图形属性。我将其上传到Play Store。现在当用户下载该应用程序时,他被要求允许应用程序的所有可能权限。我还没有找到如何在PhoneGap Build上控制权限。

我的应用程序不需要特殊权限,我想在下一个更新中排除它们。我该怎么解决这个问题?

6个回答

1

为了防止插件重新添加不必要的权限,请编辑plugins/android.json文件。

请注意,这是一种“肮脏”的解决方案。在添加/更新插件后,您可能需要重复此操作。


0

在当前版本的PhoneGap Build中,这对我有效,在config.xml文件内。请注意xmlns条目:

<?xml version='1.0' encoding='utf-8'?>
<widget id="it.letturedametropolitana.ldmapp" version="0.1.0"
  xmlns="http://www.w3.org/ns/widgets"
  xmlns:gap="http://phonegap.com/ns/1.0"
  xmlns:android="http://schemas.android.com/apk/res/android">

<gap:config-file platform="android" parent="/manifest" mode="delete">
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
  <uses-permission android:name="android.permission.CAMERA"/>
  [add any permission you want to delete]
</gap:config-file>

要知道要删除什么以及如何删除,您需要使用apktool打开已打包的apk并检查AndroidManifest.xml文件:精确复制您需要删除的内容。

所有内容都在文档中有详细说明,尽管当前版本的文档没有使用gap命名空间,并且在我的测试中无法正常工作。


0
将以下内容添加到您的 config.xml 中可以清除所有权限:

我尝试使用PhoneGap-cli 8.1.1版本,但它无法工作。 - subbu

0

从AndroidManifest.xml中删除不必要的uses-permissions。
同时,从res/xml/config.xml中删除不必要的features可能也很有用。


0

我曾经遇到过同样的问题,帮助我删除不必要的权限的方法是从我的config.xml中删除这段代码。

<gap:plugin name="org.apache.cordova.console" />

<gap:plugin name="org.apache.cordova.device" />
<gap:plugin name="org.apache.cordova.device-motion" />
<gap:plugin name="org.apache.cordova.device-orientation" />
<gap:plugin name="org.apache.cordova.dialogs" />
<gap:plugin name="org.apache.cordova.file" />
<gap:plugin name="org.apache.cordova.file-transfer" />

<gap:plugin name="org.apache.cordova.globalization" />

<gap:plugin name="org.apache.cordova.media" />

并将其替换为

<feature name="http://api.phonegap.com/1.0/network"/>

<gap:plugin name="org.apache.cordova.inappbrowser"  />

<gap:plugin name="org.apache.cordova.network-information"  />

<gap:plugin name="org.apache.cordova.splashscreen"  />

这样可以让我的应用程序仅具有访问互联网的权限,并删除其他权限。希望这可以帮到您。


-1
Phonegap社区的这个帖子中,有人提出了一个问题。那位仁兄使用了一个名为ConfiGAP的应用程序,通过其界面帮助设置Android权限,解决了这个问题。

虽然此链接可能回答了问题,但最好在此处包含答案的基本部分并提供链接以供参考。仅有链接的答案如果链接页面更改可能会变得无效。 - tomrozb
@tomrozb已经修改了答案。如果需要添加更多细节,请告诉我。 - Francisco Quintero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接