2016-08-01 110 views
1

我有一个奇怪的问题。我在Android Studio上构建了我的应用程序。然而,没有任何问题引起我的注意。Android Studio自动添加一些权限?

即使我没有添加WAKE_LOCK权限或相关代码,构建的apk包含WAKE_LOCK权限。我检查清单,gradle,java,xml ...没有与WAKE_LOCK相关的代码。

我想Android Studio会自动添加该权限,但它怎么可能?为什么?

而且我有一个附加问题。我没有使用任何WAKE_LOCK代码,但是它仍然可以工作吗?应用程序会保持设备清醒吗?

清单:

<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

你检查有关android-RMP-Appirater lib?我认为这可能需要许可。 – sonnv1368

回答

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