Android compileSdkVersion, minSdkVersion, targetSdkVersion 설명

2386 단어
질문:compileSdkVersion,minSdkVersion,targetSdkVersion의 차이와 작용을 말씀해 주시겠어요?
답: 앞으로 호환되는 것은 안드로이드 응용 프로그램에서 매우 중요한 일이다. 사용자가 새로운 안드로이드 시스템으로 업그레이드할 때 이전 버전의 SDK로 구축된 응용 프로그램은 문제가 발생하지 않도록 해야 한다. 이것이 바로compileSdkVersion,minSdkVersion,targetSdkVersion의 역할이다. 그들은 각각 어떤 API를 사용할 수 있는지, 요구하는 최저 API 레벨이 무엇인지,응용 가능한 호환 모드.
  • compileSdkVersion은Gradle이 어떤 버전의 안드로이드 SDK로 응용 프로그램을 컴파일하는지 알려 줍니다. 새로 추가된 API를 사용하려면 Level에 대응하는 안드로이드 SDK를 사용해야 합니다.compileSdkVersion을 수정하면 실행할 때의 행동을 바꾸지 않습니다.compileSdkVersion을 수정하면 새로운 컴파일 경고, 컴파일 오류가 발생할 수 있습니다. 항상 최신 SDK를 사용하여 컴파일하는 것을 강력히 추천합니다. 버려진 API를 피하십시오.또한 최신 릴리즈의 Support Library를 사용하려면 최신 SDK 컴파일을 사용해야 합니다.예를 들어 23.1.1 버전의 Support Library를 사용하는 경우 compileSdkVersion은 최소 23 이상이어야 합니다.일반적으로 새 버전의 Support Library는 새로운 시스템 버전에 따라 출시되며, 시스템에 새로 추가된 API와 새로운 기능을 호환성 지원합니다.
  • minSdkVersion은 응용 프로그램이 실행할 수 있는 최저 API 요구 사항이자 Google Play 상점에서 사용자 장치가 어떤 응용 프로그램을 설치할 수 있는지 판단하는 표지 중 하나입니다.개발할 때 MinsdkVersion도 중요한 역할을 합니다. lint는 기본적으로 프로젝트에서 실행됩니다. 이것은 MinsdkVersion보다 높은 API를 사용했을 때 저버전에 존재하지 않는 API를 호출하여 저버전 장치에서 실행할 때의 문제를 피하라고 경고합니다.상위 버전의 시스템에서만 일부 API를 사용하는 경우 일반적으로 런타임 체크 시스템 버전으로 해결됩니다.또한 Support Library 또는 Google Play 서비스와 같은 라이브러리에는 자체 minSdkVersion이 있을 수 있으므로 설정된 minSdkVersion을 적용하려면 해당 라이브러리의 minSdkVersion보다 커야 합니다.소수의 경우, 당신이 사용하는minSdkVersion보다 높은 라이브러리를 사용하고 싶을 수도 있습니다. 이 때 tools:overrideLibrary 코드 호출처의 주동적인 버전 판단 조작을 사용하여 실현할 수 있습니다.
  • targetSdkVersion은 안드로이드가 이전 호환성을 제공하는 주요 근거입니다. 응용된 targetSdkVersion이 업데이트되기 전에 시스템은 최신 행동 변화를 적용하지 않습니다. 이것은 새로운 행동 변화에 적응하기 전에 새로운 API를 사용할 수 있도록 합니다.예를 들어 targetSdkVersion은 19(Android 4.4에 해당)로 실행할 때 API 19의 새로운 기능만 사용할 수 있으며 코드에서 API 23의 새로운 기능을 사용하더라도 실제 실행할 때 이 새로운 기능을 사용하지 않는다.예를 들어 Alarm Manger의 set()과 get() 방법은 API 19와 이전의 효과가 다르다. 만약에 target SdkVersion이 18이라면 핸드폰이 어떤 버전을 실행하든 구효과이고 target SdkVersion이 19라면 4.4 이상의 핸드폰에서 실행할 때 새로운 효과이다.

  • minSdkVersion과 targetSdkVersion과compileSdkVersion의 또 다른 차이점은 최종 APK의 안드로이드 매니페스트에 포함된다는 것이다.xml 파일에서 그들의 크기 관계는 minSdkVersion <= targetSdkVersion <= compileSdkVersion이고 추천하는 크기 관계는 minSdkVersion(lowest possible) <= targetSdkVersion == compileSdkVersion(latest SDK)이다.
    이 질문에 대한 답변은 Google GDG 공식 블로그를 참조하십시오.https://chinagdg.org/2016/01/picking-your-compilesdkversion-minsdkversion-targetsdkversion/
    본고는compileSdkVersion,minSdkVersion,targetSdkVersion의 선택을 참고하였다.

    좋은 웹페이지 즐겨찾기