gpt4 book ai didi

android - 为什么从 AndroidManifest.xml 中删除权限不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:09 25 4
gpt4 key购买 nike

有一个名为 bodyweight fitness 的应用程序在 Play 商店没有任何权限。它也可以在 git hub 上使用: https://github.com/mazurio/bodyweight-fitness-android

我使用了来自 git hub 的文件并使用 Android Studio 自己编译了 apk(没有更改文件)。当我尝试安装自编译的应用程序 apk 时,它告诉我它将使用互联网,但 play 商店应用程序没有。这个应用程序没有理由需要任何互联网连接。因此,我从 AndroidManifest.xml

中删除了这一行

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

编译安装应用程序后,它仍然告诉我它将使用 INTERNET。有人知道为什么以及如何删除此权限吗?

PS:我也问了开发者,还没得到回复。

更新:

  • 你是对的,它也是从另一个部分添加的:crashlytics。
  • 关于隐藏权限,你也是对的。它显示在应用程序安装时的应用程序详细信息并显示在播放中单击“权限”按钮时存储。

最佳答案

每个 android 库都包含带有包、权限、 Activity 等的 list 文件,因此您的应用程序将显示依赖项的所有权限。您可以在 {projectDir}/{moduleDir}/build/outputs/logs/manifest-merger-*-report.txt 查看最终 list 创建日志

此日志将包含类似的内容

uses-permission#android.permission.INTERNET
ADDED from {myModulePath}/app/src/main/AndroidManifest.xml:6:5-67
MERGED from [net.hockeyapp.android:HockeySDK:4.1.1] /Users/devindi/.android/build-cache/ce70c6f87efc05633a59a88fccdb712db509e22d/output/AndroidManifest.xml:12:5-67
MERGED from [com.crashlytics.sdk.android:crashlytics:2.6.8] /Users/devindi/.android/build-cache/424d420499b90aec0a26ab1b5f575e318d0342b9/output/AndroidManifest.xml:9:5-67
MERGED from [com.crashlytics.sdk.android:beta:1.2.5] /Users/devindi/.android/build-cache/be2498e53f6aa976b3927954da943b23f0a800f6/output/AndroidManifest.xml:9:5-67
MERGED from [com.crashlytics.sdk.android:crashlytics-core:2.3.17] /Users/devindi/.android/build-cache/e5b1b150113ac2f0789b76a886f379cdafa8af2b/output/AndroidManifest.xml:52:5-67
MERGED from [com.crashlytics.sdk.android:answers:1.3.13] /Users/devindi/.android/build-cache/c86f3a3daec296cb6a32deb0b3d0c3f1370a024f/output/AndroidManifest.xml:9:5-67
MERGED from [io.fabric.sdk.android:fabric:1.3.17] /Users/devindi/.android/build-cache/0a51b13dbc46dc870c598edab9d128bf8f26a8d4/output/AndroidManifest.xml:29:5-67

如您所见,我在我的 list 中请求了网络许可,并且 hockeyapp、crashlytics、fabric 库也请求了相同的许可。 https://developer.android.com/studio/build/manifest-merge.html

要强制删除权限,只需将 tools:node=”remove” 添加到您的权限声明中,如下所示:

<uses-permission android:name=”android.permission.INTERNET” tools:node=”remove” />

关于android - 为什么从 AndroidManifest.xml 中删除权限不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48774787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com