【问题标题】:Why are superfluous permissions showing up in AndroidManifest.xml?为什么 AndroidManifest.xml 中会出现多余的权限?
【发布时间】:2016-06-11 15:51:15
【问题描述】:

在 Appcelerator Titanium 中,我构建了一个添加罗马数字的简单单页应用程序。据我所知,它不需要请求任何权限。

但是,我测试该应用程序的朋友告诉我,它要求访问网络,并且在 build/android/ 目录中,AndroidManifest.xml 文件包含以下几行:

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

tiapp.xml 文件中没有任何内容请求这些权限,我从一个空白项目开始,不导入任何模块或小部件。

这些权限请求来自哪里?我该如何摆脱它们?

我能找到的所有信息都讨论了如何添加或请求权限,但没有解释如何确保生成的 AndroidManifest.xml 中不显示不必要的权限。

【问题讨论】:

    标签: android permissions appcelerator android-permissions


    【解决方案1】:

    这些权限很可能是在您的应用使用的某个 Android 库中定义的。 Android 构建系统提供工具来控制清单合并的完成方式。尝试为应用清单的 &lt;uses-permission/&gt; 元素禁用清单合并。请参阅Merge Multiple Manifest Files 文档。

    【讨论】:

    • 您仍然可以在没有任何模块的情况下拥有它们,因为它们是由 builder.py 脚本添加的,如我上面的回答中所述。但是您可以编辑此文件以删除它们并检查应用程序是否仍然编译
    【解决方案2】:

    查看 builder.py (.titanium/mobilesdk/linux/5.3.0.GA/android/builder.py) 大约第 982 行。在那里您会找到 Android 的默认权限。您可以尝试删除它们,看看是否有任何错误。请务必先禁用分析!

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多