我有一个奇怪的问题。我在 Android Studio 上构建了我的应用。没有问题,但是引起我的注意。
即使我没有添加 WAKE_LOCK 权限或相关代码,内置的apk也包含WAKE_LOCK权限。我检查了manifest,gradle,java,xml ......没有与WAKE_LOCK相关的代码。
我想Android Studio会自动添加该权限,但是如何才能实现?为什么?
我有其他问题。我没有使用任何WAKE_LOCK代码但是它仍然可以工作吗? app会让设备保持清醒吗?
清单:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
摇篮:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.xyz.abc"
minSdkVersion 10
targetSdkVersion 24
versionCode 27
versionName "2.3"
}
buildTypes {
release {
minifyEnabled true
}
}
lintOptions {
disable "ResourceType"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile 'com.google.android.gms:play-services-analytics:9.2.1'
compile 'com.android.support:cardview-v7:24.1.1'
compile 'com.android.support:recyclerview-v7:24.1.1'
compile 'com.android.support:percent:24.1.1'
compile 'jp.co.recruit_mp:android-RMP-Appirater:1.1.1'
}
编辑:我检查了我的另一个应用,Android Studio也为该应用添加了WAKE_LOCK权限。再一次,我没有使用WAKE_LOCK的任何内容。
答案 0 :(得分:2)
您可以查看
YourProject/build/outputs/logs/manifest-merger-XXX-report.txt
查看合并权限的位置。在你的情况下,我相信它是
com.google.android.gms:play-services-analytics:9.2.1
Documentation for Google Analytics表示此权限是可选的。 因此,可以按照this answer
中的建议尝试删除它