사전 Lollipop 기기를 지원하는 Android 앱이 있습니다.하지만 Marshmallow와 Jellybean의 최신 버전을 모두 지원하도록 Android 앱을 포팅하고 싶습니다. 구체적인 지침이 있습니까? 위의 기준을 지원할 수 있습니까? 매니페스트/build.gradle에서Android 앱 주요 Android 버전 지원
답변
:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />
Gradle을 (사용 내용에 따라) :
defaultConfig {
........
minSdkVersion 14
targetSdkVersion 23
}
가능한 한 낮게에 minSDK를 설정합니다. 너무 낮 으면 오류가 표시됩니다. 높은 API 수준 (예 : xml 작성시 API 17이 필요한
android:layout_marginStart
만 작성)이 필요한 코드를 사용하는 경우 min API 레벨을 높이라는 오류 메시지가 표시됩니다. 자, 증가를 피할 수있는 몇 가지 방법이 있습니다.
- 가능하다면, 또한 낮은 API 수준을 지원하는 코드를 추가합니다 (예 :
android:layout_marginRight
어떤 대안을 모두 지원 할 수없는 경우 는. 낮은 API 수준에서 코드를 목표로
- 는 OS 분포를 기억하고 플랫폼을 대상으로
- 새 장치에서 이전 코드를 실행할 수 있지만 이전 장치의 새 코드는 불가능하거나 AppCompat (예 : 재료 설계)가 필요합니다.
- 이전 코드를 실행하십시오. 기존 플랫폼과 새로운 플랫폼을 대상으로 사용 중지 된 코드는 피하십시오! 가능한 경우 AppCompat을 사용하여 이전 장치에서 새 코드를 사용하십시오.
은 요약하면 :
XML, 이전 및 새 지원 코드를 사용 (사용 가능한 경우) 코딩. 정상적인 코딩을 할 때는 이전 버전을 지원하는 코드를 사용하고 더 이상 사용되지 않는 코드를 사용하십시오. 가능한 경우 AppCompat을 사용하여 이전 코드에서 새로운 코드와 새로운 것을 얻으십시오. 당신이 뭘 하려는지 -
"minSDK를 가능한 한 낮게 설정하십시오. 너무 낮 으면 오류가 표시됩니다."- 항상 그런 것은 아니며 가끔은 경고 일 뿐이므로 런타임에 충돌을받을 수 있습니다. –
다를 수 있습니다. . 하지만 내 경험에, 너무 낮은 분 SDK를 버전을 사용하여 gradle 빌드를 실행하면 더 높은 코드가 빌드 durring 오류가 발생할 것입니다 – Zoe
그런 경우에 gradle에 의존 수 없다, 그것은 바보 야 충분 –
당신은 "마시 멜로까지 모두 최신 버전을 지원하기 위해 내가 포트에 원하는 안드로이드 응용 프로그램을"이
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1"
multiDexEnabled true
}
처럼 Gradle을 파일에서 지원 버전을 변경할 수 있습니까? 마시 멜로에서 앱을 테스트 했습니까? 이미 작동 중일 수도 있습니다 –