[android] targetSdkVersion과 프로젝트 빌드 타겟의 차이점



Answers

빌드 타겟은 APK를 컴파일 할 SDK를 파악하는 데 사용됩니다. 즉, 최소 SDK 버전에서 사용할 수 없지만 이후 버전에있는 클래스 또는 메서드가 있으면 해당 클래스 또는 메서드를 계속 사용할 수 있습니다. 사용자의 SDK 버전이 해당 클래스 / 메소드와 호환되지 않는 경우이를 사용하고 있는지 확인하고 대체 접근법을 수행해야합니다.

android:targetSdkVersion

응용 프로그램이 대상으로하는 API 레벨을 지정하는 정수입니다.

이 속성을 설정하면 응용 프로그램은 이전 버전 (minSdkVersion까지)에서 실행할 수 있지만 명시 적으로 여기서 지정된 버전으로 작업 할 수 있는지 테스트합니다. 이 대상 버전을 지정하면 플랫폼에서 대상 버전에 필요하지 않은 호환성 설정을 비활성화 할 수 있습니다 (그렇지 않으면 정방향 호환성을 유지하기 위해 활성화 될 수 있음). 구형 응용 프로그램에서는 사용할 수없는 새로운 기능을 사용할 수 있습니다. 그렇다고해서 다른 버전의 플랫폼에 대해 서로 다른 기능을 프로그래밍 할 수있는 것은 아니며 대상 버전에 대해 테스트 한 플랫폼을 알려주고 플랫폼은 대상 버전과의 순방향 호환성을 유지하기 위해 추가 작업을 수행해서는 안됩니다.

자세한 내용은 다음 URL을 참조하십시오.

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

또한 좋은 기사는 Google이 현재 사용자임을 확인하기 위해 작성한 Android OS 버전에서 적절한 클래스 / 메소드를 사용합니다.

http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html

Question

Manifest 파일에 설정된 targetSdkVersion과 건물 환경 (예 : Eclipse)에 설정된 Project build target의 차이점은 무엇입니까?

이 두 가지 기능에 대한 자세한 정보를 찾으려고 노력했지만 명확하고 구체적인 설명을 찾을 수 없습니다.

프로젝트 빌드 타겟이 컴파일 중에 API 호환성 레벨을 결정하는 것처럼 보입니다. targetSdkVersion은 지정된 API 수준의 매니페스트 요소의 표시 여부에만 영향을줍니다.

누구든지 이것을 확인 / 해설 할 수 있습니까?

편집 : 신속한 응답 주셔서 감사합니다. 내 질문에 나는 이러한 기능에 관한 안드로이드 개발에 대한 모든 주제를 읽고 그것도 검색하고 그것을 스택 오버플로에서 찾은 것을 잊어 버렸다. 그래서 안드로이드 마켓과 안드로이드 시스템 자체에서 사용되는 min / target / maxSdkVersion의 기본적인 목적을 이해합니다. 그러나이 Manifest 옵션에 문제가있는 다른 게시물에 따르면 use-sdk는 실제로 API 수준이 해석되는 방식에 영향을 미친 것으로 보입니다. 적어도 그것이 제가 의심하는 것입니다.

정말 좋은 설명이 여기에 있습니다 : http://developer.android.com/guide/appendix/api-levels.html

그러나 targetSdkVersion이 Android System에서 APK의 컴파일 / 런타임에 영향을 미치는지 여부는 아직 명확하지 않습니다. 아니면 sdk 문서에서 제시하는 용도로만 유효성 검사를 수행 할 수 있습니까?







targetSdkVersion 속성은 지정된 버전 (API 수준)에 대해 앱을 테스트했으며 시스템이 대상 버전과의 앱의 순방향 호환성을 유지하기 위해 호환성 동작을 사용해서는 안된다는 것을 시스템에 알립니다. 응용 프로그램은 이전 버전에서 계속 실행할 수 있습니다 (minSdkVersion까지).

추가 세부 정보 - http://developer.android.com/guide/topics/manifest/uses-sdk-element.html




Related