我有一个奇怪的问题。我在 Android Studio 上构建了我的应用程序。没有问题,但有件事引起了我的注意。
即使我没有添加WAKE_LOCK权限或相关代码,构建的apk也包含WAKE_LOCK权限。我查了manifest, gradle, java, xml...没有跟WAKE_LOCK相关的代码。
我想 Android Studio 会自动添加该权限,但这怎么可能,为什么?
我还有一个附加问题。我没有使用任何 WAKE_LOCK 代码,但它仍然有效吗?应用会让设备保持唤醒状态吗?
list :
<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" />
Gradle :
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 的任何内容。
最佳答案
你可以勾选一个
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 中的建议将其删除
关于Android Studio 自动添加一些权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38689895/