안드로이드 SdkVersion 그런 것들.

안드로이드 SdkVersion 그런 것들.
본고는android 프로젝트 중의compileSdkVersion,targetSdkVersion,minSdkVersion,maxSdkVersion과buildTarget 등의 개념에 대해 설명한다.
compileSdkVersion
정의
컴파일이나 구성 요소를 컴파일할 때 사용하는 API 버전입니다. 프로젝트에서 보는android 시스템과 관련된 원본 코드는 이compileSdkVersion이 지정한 것과 일치합니다.
설명
  • eclipse에서 프로젝트 루트 디렉터리에 있는 프로젝트입니다.properties 파일에서 (target=xx);
  • android 스튜디오에서 프로젝트에 있는build.gradle 중;
  • 항상 최신 SDK를 사용하여 컴파일하는 것을 강력히 추천합니다(기본값은 최신식).
  • compileSdkVersion을 수정하면 실행 중인 줄은 바뀌지 않지만 새로운 컴파일 경고, 컴파일 오류가 발생할 수 있습니다.
  • compileSdkVersion은 APK에 포함되지 않습니다. 이것은 순전히 컴파일할 때만 사용됩니다.
  • Support Library를 사용하는 경우 최신 버전의 Support Library를 사용하려면 최신 SDK 컴파일링(대응 관계식)을 사용해야 합니다.

  • targetSdkVersion
    정의
    시스템api가 targetSdkVersion 값보다 작거나 같을 때 시스템 실행 프로그램은 호환 처리를 하지 않아도 된다는 것을 나타낸다.(시스템에 내가 개발했을 때 targetSdkVersion에 대한 지정된 버전이 호환되었음을 알려주는 것과 같다)
    설명
  • 설정하지 않으면 기본값은 minSdkVersion과 같습니다.
  • 응용 프로그램은 targetSdkVersion보다 낮은 시스템에서 실행될 수 있다.
  • 시스템 API가 targetSdkVersion보다 높으면 시스템은 전방 호환 모드를 시작합니다.반대로 시스템은 호환 모드를 사용하지 않을 것이다. *** 개발자가 호환 처리를 했다고 생각하고 이 프로그램을 직접 정상적으로 운행한다.
  • targetSdkVersion이라는 값은 실행할 때 작용하는 것으로 이 값은 시스템이 앞으로 호환되는 모드로 프로그램을 실행할지 여부를 알려준다.

  • 개발할 때 targetSdkVersion을 최신 값으로 설정하면 새로운 기능을 적용하고 호환성 테스트를 할 수 있습니다
    minSdkVersion
    정의
    어플리케이션 실행에 필요한 최소 Sdk 버전
    설명
  • 지정하지 않고 기본값은 1로 모든android버전을 호환한다는 것을 나타낸다.
  • 시스템 API가minSdkVersion보다 높을 때 시스템은 응용된 설치를 조직한다.
  • minSdkVersion보다 낮은api(방법 속성 등)를 사용하면 컴파일할 때 오류가 발생합니다.
  • minSdkVersion은 모든 의존 항목 중minSdkVersion의 최대치를 취해야 프로젝트가 실행된 후에 오류가 발생하지 않도록 보증할 수 있다.

  • maxSdkVersion
    응용 프로그램이 지원하는 최고 버전을 실행합니다. (이 버전을 초과하면 실행할 수 없습니다.)
    설명
    분명히 이 속성은 사물 발전의 규칙에 부합되지 않아서 지금은 사용을 추천하지 않거나 이미 효력을 잃었다.
    낮은 버전 시스템에서 높은 버전 방법의 호환성 처리
  • 주해 방식을 채택하다
  • @TargetApi($API LEVEL)를 추가하면 컴파일을 통과할 수 있습니다
  • @SuppressLint ("New Api") 를 추가하면 모든 새로운 API를 차단할 수 있습니다. (한 방법에서 여러 가지 다른 API를 인용한 새로운 방법)
  • 예를 들어 어떤 방법에서api9이 새로 가입하는 방법을 사용했고 프로젝트 설정의android:minSdkVersion=8, 이때 방법에 @SuppressLint("New Api")와 @TargetApi(Build.VERSION CODES.GINGERBREAD)를 추가하면 됩니다. 이상은 일반적인 상황입니다.이 방법에서api11을 인용해서 가입한 방법이 있을 때 @TargetApi(Build.VERSION CODES.GINGERBREAD) 주석의 방법이 틀렸고 @SuppressLint("New Api")는 틀리지 않습니다.
  • 운행 시 판단
    저버전에서는 이 방법을 사용하지 않고, 스스로 저버전의 기능을 제공하여 실현한다

  • 다음 표에는 각 Android 플랫폼 버전에서 지원되는 API 레벨이 나와 있습니다.
    플랫폼 버전
    API 수준
    VERSION_CODE
    비고
    Android 7.0
    24 N
    플랫폼 특징
    Android 6.0
    23 M
    플랫폼 특징
    Android 5.1
    22 LOLLIPOP_MR1
    플랫폼 특징
    Android 5.0
    21 LOLLIPOP
    Android 4.4W
    20 KITKAT_WATCH
    KitKat for Wearables에만 해당
    Android 4.4
    19 KITKAT
    플랫폼 특징
    Android 4.3
    18 JELLY_BEAN_MR2
    플랫폼 특징
    Android 4.2、4.2.2
    17 JELLY_BEAN_MR1
    플랫폼 특징
    Android 4.1、4.1.1
    16 JELLY_BEAN
    플랫폼 특징
    Android 4.0.3、4.0.4
    15 ICE_CREAM_SANDWICH_MR1
    플랫폼 특징
    Android 4.0、4.0.1、4.0.2
    14 ICE_CREAM_SANDWICH
    Android 3.2
    13 HONEYCOMB_MR2
    Android 3.1.x
    12 HONEYCOMB_MR1
    플랫폼 특징
    Android 3.0.x
    11 HONEYCOMB
    플랫폼 특징
    Android 2.3.4Android 2.3.3
    10 GINGERBREAD_MR1
    플랫폼 특징
    Android 2.3.2Android 2.3.1Android 2.3
    9 GINGERBREAD
    Android 2.2.x
    8 FROYO
    플랫폼 특징
    Android 2.1.x
    7 ECLAIR_MR1
    플랫폼 특징
    Android 2.0.1
    6 ECLAIR_0_1
    Android 2.0
    5 ECLAIR
    Android 1.6
    4 DONUT
    플랫폼 특징
    Android 1.5
    3 CUPCAKE
    플랫폼 특징
    Android 1.1
    2 BASE_1_1
    Android 1.0
    1 BASE

    좋은 웹페이지 즐겨찾기