其他分享
首页 > 其他分享> > 为什么从AndroidManifest.xml删除权限无效?

为什么从AndroidManifest.xml删除权限无效?

作者:互联网

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

我使用了git hub中的文件,并使用Android Studio自己编译了apk(无需更改文件).当我尝试安装自编译应用程序apk时,它告诉我它将使用INTERNET,尽管play store应用程序未使用.没有理由为什么这个程序应该需要任何互联网连接.因此,我从AndroidManifest.xml中删除了这一行

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

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

PS:我也问过开发者,但是我还没有回应.

更新:

>是的,它也是从另一个部分添加的:crashlytics.
>关于隐藏的权限,您也是正确的.它显示在
安装该应用后该应用的详细信息,并且该应用会在播放中显示
单击“权限”按钮时存储.

解决方法:

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

该日志将包含类似的内容

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

如您所见,我在清单上请求了网络许可,hockeyapp,crashlytics,结构库也请求了相同的许可. https://developer.android.com/studio/build/manifest-merge.html

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

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

标签:user-permissions,android-install-apk,android,android-studio,android-permissions
来源: https://codeday.me/bug/20191010/1888917.html