Dopo l'esecuzione dell'applicazione sull'applicazione del dispositivo è richiesta l'autorizzazione di posizione indesiderata che non è menzionata nel file manifest. Mentre sto eseguendo lo stesso codice dal mio amico studio Android rispetto alla normale esecuzione senza l'autorizzazione aggiuntiva richiesta.Studio Android aggiunge autorizzazioni indesiderate dopo l'esecuzione dell'applicazione sul dispositivo reale
file di manifesto
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "xxxxxxx"
minSdkVersion 14
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
lintOptions{
abortOnError false
}
}
repositories {
mavenCentral()
}
dependencies {
compile project(':boxAndroidLibraryV2')
compile 'com.google.http-client:google-http-client-gson:1.19.0'
compile 'com.google.code.gson:gson:2.1'
compile 'com.google.android.gms:play-services:+'
compile files('libs/HockeySDK-3.0.2.jar')
compile files('libs/dropbox-android-sdk-1.6.3.jar')
compile 'com.google.apis:google-api-services-drive:v2-rev164-1.20.0'
compile files('libs/in-app-purchasing-2.0.59.jar')
compile files('libs/json_simple-1.1.jar')
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/slf4j-api-1.7.5.jar')
compile files('libs/jackrabbit-webdav-2.7.2.jar')
compile files('libs/commons-httpclient-3.1.jar')
compile project(':utilities')
compile files('libs/pass-v1.1.3.jar')
compile files('libs/sdk-v1.0.0.jar')
compile 'com.google.api-client:google-api-client:1.20.0'
compile 'com.google.oauth-client:google-oauth-client:1.20.0'
compile 'com.google.api-client:google-api-client-android:1.20.0'
compile 'com.google.http-client:google-http-client-android:1.20.0'
}
configurations {
all*.exclude group: 'com.google.guava', module:'guava-jdk5'
}
, quindi sono in grado di comprendere il motivo per cui la sua posizione richiede il permesso. Come è stata aggiunta questa autorizzazione di posizione nella mia app?
forse stai usando alcune librerie che usano questa permessione aggiunta – Abdellah
Controlla il manifest situato in "app \ build \ intermediates \ manifests \ debug" (dove "app" è il nome del modulo principale della tua applicazione). Contiene il permesso di localizzazione? – fRoStBiT
Puoi mostrarci eventuali librerie aggiuntive che potresti utilizzare nel tuo progetto? –