Android studio fügt unerwünschte Erlaubnis nach dem ausführen der Anwendung auf einem echten Gerät
Nach dem ausführen der Anwendung auf dem Gerät Anwendung unerwünschte Standort-Berechtigung, nicht zu erwähnen, in der manifest-Datei. Während wenn ich auf der gleichen code von meinem Freund Android studio als sein normal ausführen, ohne extra Genehmigung erforderlich.
Manifest-Datei
<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"
}
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 'com.google.android.gms:play-services:+'
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:appcompat-v7:21.0.3'
}
So, ich bin nicht in der Lage zu verstehen, warum seine Lage erfordern die Erlaubnis. Wie dieser Standort Hinzugefügt in meine app?
- vielleicht sind Sie mit einigen Bibliotheken, die Nutzung thoses Hinzugefügt permession
- Überprüfen Sie das manifest, das in der "app\build\Intermediate\manifests\debug" (wobei "app" ist die Anwendung Hauptmodul name). Enthält es Standort?
- Können Sie uns zeigen, alle zusätzlichen Bibliotheken, die Sie verwenden in Ihrem Projekt?
- Vielleicht verursacht durch eine
ACCESS_NETWORK_STATE
oderACCESS_WIFI_STATE
? Versuchen Sie es vorübergehend entfernen, diejenigen zu sehen, ob das entledigt sich der Standort. - <nutzt-Erlaubnis android:name="com.samsung.android.die Anbieter.Kontext.die Genehmigung.WRITE_USE_APP_FEATURE_SURVEY"/>
- debug-manifest <uses-permission android:name="android.die Genehmigung.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.die Genehmigung.ACCESS_COARSE_LOCATION" /> <uses-feature android:glEsVersion="0 x 00020000" android:required="true" />
- aber nicht in der Lage zu verstehen, wie die Beurteilung iteslf und wie glEsVersion Hinzugefügt???
- Bitte posten Sie Ihre
app/
Modulbuild.gradle
- Datei. - jetzt plz-check verpasst... bauen.gradle gepostet von mir..
- keine Bibliothek mit dieser Erlaubnis. diese Berechtigung wird nur verwendet, wenn Sie von mir in einem anderen Projekt vor einigen Tagen.
- Sie können überprüfen, weitere Bibliotheken in gradle.build-Datei.
- nach dem check "manifest-Fusion-debug-report" fand ich nutzt-Erlaubnis#android.die Genehmigung.ACCESS_COARSE_LOCATION HINZUGEFÜGT von com.google.android.gms:play-Dienste-Google maps:7.5.0:23:5 ZUSAMMENGEFÜHRT com.google.android.gms:play-Dienste-Google maps:7.5.0:23:5 ZUSAMMENGEFÜHRT com.google.android.gms:play-Dienste-Google maps:7.5.0:23:5 ZUSAMMENGEFÜHRT com.google.android.gms:play-Dienste-Google maps:7.5.0:23:5 android:name HINZUGEFÜGT von com.google.android.gms:play-Dienste-Google maps:7.5.0:23:22 uses-feature#0 x 00020000 HINZUGEFÜGT von com.google.android.gms:play-Dienste-Google maps:7.5.0:24:5 ZUSAMMENGEFÜHRT com.google.android.gms:play-Dienste-Google maps:7.5.0:24:5
InformationsquelleAutor Nikhil | 2015-05-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Bibliothek wird die Anfrage Ort Berechtigungen, wie mehrere Stücke von Play-Services benötigen.
Zuerst, Sie nie verwenden
+
. Wenn Sie zulassen möchten, dass free-floating-patchlevels (z.B.22.0.+
), das ist nicht völlig verrückt, aber mit+
für die version ist verrückt.Next, erwägen Sie die Verwendung einer (oder mehr) die mehr konzentrierte Abhängigkeiten, anstatt die vollen-Play-Services-SDK. Nicht nur wird diese vielleicht beseitigen die Berechtigung, die Sie nicht wollen, aber Ihre APK wird viel kleiner sein. Die Dokumentation deckt die verfügbaren Optionen angezeigt (siehe "Selektiv APIs kompilieren in die ausführbare Datei" Abschnitt).
Wenn Sie noch wind mit Berechtigungen, die Sie nicht wollen, dann werden Sie brauchen, um zu bestimmen, in denen die Berechtigungen aus. Es sollte ein manifest Fusion Bericht in
build/outputs/logs/
des Moduls. Es wird ein bisschen schwierig zu verstehen, aber ich hoffe, Sie finden die Bibliothek, trägt diese Berechtigung. Auch Android Studio 2.2+ wird zeigen, Ihre zusammengeführten sich in einem sub-Registerkarte beim Bearbeiten der manifest.Zu diesem Zeitpunkt müssen Sie entscheiden, wie Sie Vorgehen:
Die sicherste Antwort, die entfernt die Berechtigung ist nicht mehr zu verwenden, die Bibliothek, aber stattdessen finden Sie eine andere Lösung zu welchem problem Sie versuchen zu lösen, mit der Bibliothek
Oder, live mit der Erlaubnis
Oder, versuchen Sie das folgende zu Ihrem app-manifest:
Diese benötigen Sie zum hinzufügen
xmlns:tools="http://schemas.android.com/tools"
an die Wurzel<manifest>
element ist, wenn es nicht bereits vorhanden ist. Dies wird Ihnen sagen, die build-tools explizit ausschließen mit dieser Berechtigung, auch wenn Bibliotheken tragen es. Allerdings Ihre Nutzung dieser Bibliotheken können brechen. Tun Sie dies nur, wenn Sie haben ein dediziertes Test-team, verbringen Sie die Zeit benötigt, um sicherzustellen, dass Ihre Entscheidung zu blockieren, dass diese Erlaubnis nicht dazu führen, Systemabstürze oder andere Verhalten, das auf den Nutzer wirkt.Für die neuen Versionen der Google-Play-Dienst-Bibliotheken, müssen Sie nur den gewünschten Teil der Bibliothek als Abhängigkeit. Zum Beispiel, wenn Sie Google-Play-Dienst-Bibliothek nur, um die display-anzeigen von Admob, dann ersetzen
mit
Dies entfernt die anderen unnötigen Berechtigungen.
Müssen Sie prüfen die zusammengeführten manifestieren.
Bibliotheken, die Sie verwenden können auch die Berechtigungen anzufordern.
Das ist, wo die Berechtigung kommt.