相关疑难解决方法(0)

为什么在包含Google Play服务库时,权限会自动添加到我的AndroidManifest中

我注意到,当我在build.gradle文件中使用以下内容时,会自动添加以下权限

compile 'com.google.android.gms:play-services:7.5.0'
Run Code Online (Sandbox Code Playgroud)

早期版本的播放服务不会出现这种情况.有没有人有解决方案来删除这些不需要的权限?

我只使用广告功能(INTERNET和ACCESSNETWORK_STATE).我不需要LOCATION和USE_CREDENTIALS权限.如何删除这些不需要的权限?

我注意到'manifest-merger-xxx-debug-report.txt'文件包含以下内容

 ...<snipped bunch of other merges>
MERGED from com.google.android.gms:play-services-maps:7.5.0:22:5
    android:name
        ADDED from com.google.android.gms:play-services-maps:7.5.0:22:22
uses-permission#android.permission.ACCESS_COARSE_LOCATION
ADDED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
    android:name
        ADDED from com.google.android.gms:play-services-maps:7.5.0:23:22
uses-feature#0x00020000
ADDED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
    android:glEsVersion
        ADDED from com.google.android.gms:play-services-maps:7.5.0:25:8
    android:required
        ADDED from com.google.android.gms:play-services-maps:7.5.0:26:8
android:uses-permission#android.permission.READ_EXTERNAL_STORAGE
IMPLIED from AndroidManifest.xml:2:1 reason: com.google.android.gms.maps requested WRITE_EXTERNAL_STORAGE
uses-permission#android.permission.GET_ACCOUNTS
ADDED from com.google.android.gms:play-services-wallet:7.5.0:21:5
    android:name
        ADDED from com.google.android.gms:play-services-wallet:7.5.0:21:22
uses-permission#android.permission.USE_CREDENTIALS
ADDED from com.google.android.gms:play-services-wallet:7.5.0:22:5
    android:name
        ADDED from com.google.android.gms:play-services-wallet:7.5.0:22:22 …
Run Code Online (Sandbox Code Playgroud)

android android-manifest admob android-permissions google-play-services

29
推荐指数
2
解决办法
6876
查看次数

为什么play-services-location需要android.permission.WRITE_EXTERNAL_STORAGE和android.permission.READ_EXTERNAL_STORAGE权限?

我在AndroidManifest.xml中的所有内容是:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

将APK上传到开发者控制台后,它会添加两个新权限: 在此输入图像描述

我的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "net.perspiratron.ifpaprofile"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 3
        versionName "1.2"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
//    wearApp project(':wear')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.android.gms:play-services-analytics:7.5.0'
    compile 'com.google.android.gms:play-services-location:7.5.0'
    compile 'com.jjoe64:graphview:4.0.0'
}
Run Code Online (Sandbox Code Playgroud)

我添加的唯一内容是play-services-location.为什么这个库需要它?

android android-permissions google-play-services android-studio

11
推荐指数
1
解决办法
2230
查看次数