如何解决android.permission.WAKE_LOCK已自动启用
我已经为Android和iOS开发了Flutter应用程序。它已由客户发送到安全审核。他们在审计中说android.permission.WAKE_LOCK
已启用,并且存在安全风险。他们推荐了以下
建议考虑各自提供的每个功能 参数并评估启用该需求的业务需求。
好吧,我不知道此权限会带来安全风险,但是与此同时,我尚未在manifest
文件中启用此权限。以下是我的Android清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp.appname">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is,but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name="io.flutter.app.FlutterApplication"
android:label="MY APP"
android:icon="@mipmap/launcher_icon">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
下面是我的pubspecs.yaml文件
name: MyApp
description: A new Flutter project.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots,like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number,respectively.
# In Android,build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS,build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.2+3
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
google_fonts: ^0.2.0
firebase_auth: ^0.14.0+5
json_annotation: ^3.0.1
provider: ^4.0.4
badges: ^1.1.1
firebase_messaging: ^6.0.13
shared_preferences: ^0.5.6+3
intl: ^0.16.1
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.7.4
json_serializable: ^3.2.5
flutter_launcher_icons: "^0.7.3"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/images/icon.jpg"
# For information on the generic Dart part of this file,see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application,so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application,add an assets section,like this:
assets:
- assets/images/logo.png
- assets/images/lock_24px.png
- assets/images/email_24px.png
- assets/images/shopping_cart_48px.png
- assets/images/logo_2.jpg
- assets/images/fish1.png
- assets/images/fish2.png
- assets/icons/account-filled.png
- assets/icons/account-not_filled.png
- assets/icons/history-filled.png
- assets/icons/history-not_filled.png
- assets/icons/home-filled.png
- assets/icons/home-not_filled.png
- assets/icons/notifications-not_filled.png
- assets/icons/notifications-filled.png
- assets/images/loading_image2.gif
# An image asset can refer to one or more resolution-specific "variants",see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies,see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application,add a fonts section here,# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name,and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
fonts:
- family: Roboto
fonts:
- asset: fonts/Roboto-Regular.ttf
- asset: fonts/Roboto-Medium.ttf
- asset: fonts/Roboto-Bold.ttf
- family: Ma Shan Zheng
fonts:
- asset: fonts/MaShanZheng-Regular.ttf
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,# see https://flutter.dev/custom-fonts/#from-packages
这是怎么回事?也许许可是由我使用的其中一个插件自动添加的?在这种情况下,如何将其删除?
解决方法
首先检查合并清单(检查哪个库添加了此权限)-将“文本”更改为“合并清单”。查看是否需要该库,如果需要,则可以认为第三方库正在使用它。 要删除它,请在清单中添加它:
<uses-permission
android:name="android.permission.WAKE_LOCK"
tools:node="remove" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。