2016-07-01 6 views
1

Einfach von android:targetSdkVersion="22" zu "23" wechseln bewirkt, dass meine App auf dem Galaxy S6 abstürzt. Was würde das verursachen? Zurückrollen und alles ist in Ordnung.android: targetSdkVersion = "23" stürzt ab, so Galaxy S6

Ich habe eine S6 nicht, so kann ich nicht replizieren - ich bin sicher, dass es etwas einfach ...

+0

Es könnte eine gute Idee sein, den Stack-Trace anzugeben, wenn es sich um eine Frage zu einem Absturz handelt. – Vinnie

Antwort

2
ist

Die wahrscheinlichste Ursache die erforderlichen Berechtigungen durch Ihre Anwendung ist, in Ihrem Manifest angegeben.

"Ab Android 6.0 (API-Stufe 23) gewähren Benutzer Berechtigungen für Anwendungen, während die App ausgeführt wird, nicht wenn sie die App installieren." Siehe Requesting Permissions at Run Time

Insbesondere wenn Ihre Anwendung in der Dangerous permissions and permission groups Tabelle aufgeführten der Berechtigungen erforderlich ist, müssen Sie den Code implementieren für die Berechtigungen zur Laufzeit auf Geräten 23 oder höher ausgeführt zu fragen. Wenn Sie dies nicht tun und eine Aufgabe ausführen möchten, für die eine dieser Berechtigungen erforderlich ist, stürzt die App ab.
Normale (nicht gefährliche) Berechtigungen werden jedoch vom System automatisch bei Bedarf gewährt und müssen nicht zur Laufzeit einzeln angefordert werden.

Wenn Sie dieses Problem vermeiden möchten, lassen Sie einfach Ihr Ziel-SDK als 22. Wenn Sie weitere Funktionen von SDK 23 benötigen, die Sie besonders benötigen, müssen Sie die oben im ersten Link angegebenen Schritte ausführen Berechtigungen werden zur Laufzeit auf Geräten mit 23 oder höher angefordert.

Marshmallow (23) wurde in vielen Regionen für das Galaxy S6 eingeführt. Wenn Sie herausfinden können, welche Android-Version das Galaxy S6, das den Absturz erlebt, läuft, ich wette, Sie finden es Marshmallow.

+0

Große Antwort. Vielen Dank! –