2016-08-01 44 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