【问题标题】:Remove unnecessary permissions from phonegap app从 phonegap 应用程序中删除不必要的权限
【发布时间】:2014-03-23 19:18:18
【问题描述】:

我正在开发一个适用于 Android 的 Phonegap 应用程序,我正在使用 PhoneGap build 构建该应用程序。我在安装它时注意到它需要很多我不需要的权限,例如访问相机。

在普通的 android 应用程序中,我会更改清单 XML,但在使用 phonegap 构建时我找不到有关如何执行此操作的任何文档。

我担心这会让用户在安装它时望而却步。如何删除不必要的权限?

【问题讨论】:

    标签: android cordova permissions phonegap-build


    【解决方案1】:

    在您的 config.xml 文件(您将与 PhoneGap Build 一起使用)中添加:

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

    这将关闭除网络访问之外的所有权限,我认为 phonegap 需要拥有该权限。

    【讨论】:

    • 谢谢,我稍后试试
    • 一定要回来告诉我们它是否适合您,以便未来的用户知道。
    • 2016 - 它关闭了其他设备,但除了网络访问之外还保留了读/写外部存储
    【解决方案2】:

    对于信息,可能是这样的一行

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

    config.xml 文件中的问题。即使有

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

    行,媒体插件会创建新的权限,这些权限会在安装应用程序时出现。

    【讨论】:

      【解决方案3】:

      您需要将权限添加到config.xml 文件以进行phonegap 构建。默认情况下,如果您对此文件没有任何权限,则需要所有权限。

      看来您现在可以将与AndroidMAnifest.xml 中相同的元素放入config.xml

      更多信息可以在这里找到: http://docs.build.phonegap.com/en_US/3.3.0/configuring_config_file_element.md.html#Config%20File%20Elements

      【讨论】:

      • 如果我不需要任何权限,我只需要添加一个吗?
      • 他们的新文档并不清楚这一点。过去,为此有一个 phonegap 特定设置,&lt;preference name="permissions" value="none"/&gt;。您可以尝试将此添加到您的config.xml,但我不确定它是否会做任何事情。
      【解决方案4】:

      android.json

      plugins/android.json

      见章节

      "AndroidManifest.xml": {
              "parents": {
                  "/*": [
                      {
                          "xml": "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />",
                          "count": 2
                      },
                      {
                          "xml": "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" />",
                          "count": 1
                      },
                      {
                          "xml": "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\" />",
                          "count": 1
                      }
                  ]
              }
      

      从那里删除任何你不需要的东西

      AndroidManifest.xml

      然后 - 编辑文件 AndroidManifest.xml - 并删除您之前删除的匹配权限

      重建

      cordova 构建安卓

      注意事项

      • 确保 JSON 在更改后仍然有效
      • 另请注意,删除最后一个逗号“,”,否则您会收到错误 SyntaxError: Unexpected token ](即使 JSON 验证器中的最后一个逗号也被认为是有效的)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-05
        • 1970-01-01
        • 2014-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多