2016-07-01 2 views
1

android:targetSdkVersion="22"에서 "23"으로 간단하게 변경하면 내 응용 프로그램이 Galaxy S6에서 중단됩니다. 그게 뭐야? 롤백 및 모든 것이 좋습니다.android : targetSdkVersion = "23"충돌로 인해 Galaxy S6

나는 내가 복제 할 수 S6이없는 - 나는 간단 뭔가 확신 ...

+0

질문이 충돌에 관한 것이면 스택 추적을 제공하는 것이 좋습니다. – Vinnie

답변

2

가장 큰 원인은 매니페스트에 지정된 사용자의 앱에 필요한 권한입니다.

"사용자는 Android 6.0 (API 수준 23)부터 앱을 실행하는 동안이 아니라 앱을 실행하는 동안 앱에 권한을 부여합니다. ' 당신의 앱이 Dangerous permissions and permission groups 표에 나와있는 권한 중 하나를 요구하는 경우 는 특히

Requesting Permissions at Run Time를 참조하십시오, 당신은 23 이상을 실행하는 장치에 런타임에 이러한 권한을 요청하는 코드를 구현해야합니다. 그렇게하지 않으면 이러한 권한 중 하나가 필요한 작업을 수행하려고하면 응용 프로그램이 중단됩니다.
그러나 정상적인 (위험하지 않은) 권한은 필요한 경우 시스템에 의해 자동으로 부여되며 런타임에 개별적으로 요청하지 않아도됩니다.

이 문제를 피하려면 대상 SDK를 22로 그대로 두십시오. 특히 필요한 SDK 23의 다른 기능이있는 경우 위의 첫 번째 링크에 표시된 단계를 수행해야합니다. 사용 권한은 런타임에 23 이상을 실행하는 장치에서 요청됩니다.

많은 지역에서 Marshmallow (23)가 Galaxy S6 용으로 출시되었습니다. 충돌을 겪고있는 갤럭시 S6이 어떤 안드로이드 버전을 실행하는지 알 수 있다면 마시멜로가 발견 될 것입니다.

+0

좋은 답변입니다. 감사! –

관련 문제