DBILITY

compileSdk, targetSdk,targetApi 본문

android

compileSdk, targetSdk,targetApi

DBILITY 2025. 3. 11. 10:19
728x90
반응형

compileSdk는 애플리케이션이 컴파일될 때 사용할 SDK 버전을 지정합니다. 이 값은 개발자가 사용하는 API의 기능과 클래스에 영향을 미칩니다. 예를 들어, compileSdk를 최신 버전으로 설정하면 최신 API 기능을 사용할 수 있지만, 실제로 앱이 실행되는 기기에서 지원되는 API는 다를 수 있습니다.

targetSdk는 애플리케이션이 테스트되고 최적화된 SDK 버전을 지정합니다. 이 값은 앱이 특정 Android 버전에서 어떻게 동작할지를 결정합니다. 예를 들어, targetSdk가 최신 버전으로 설정되어 있으면, 해당 버전의 새로운 기능을 사용할 수 있으며, 이전 버전의 동작 방식과 호환성을 유지하기 위해 필요한 조치를 취할 수 있습니다. 만약 targetSdk가 낮은 버전으로 설정되어 있다면, 새로운 Android 버전에서 앱이 동작할 때 이전 버전의 동작 방식을 따르게 됩니다.

@targetApi는 특정 코드 블록이 특정 API 레벨에서만 실행될 것임을 나타내는 주석입니다. 이는 주로 코드에서 조건부로 API를 사용할 때 사용됩니다. 예를 들어, 특정 API가 API 레벨 21에서 도입되었다면, 해당 API를 사용하는 코드 블록에 @TargetApi(21) 주석을 추가하여 이 코드가 API 레벨 21 이상에서만 실행된다는 것을 명시할 수 있습니다. 이는 코드의 가독성을 높이고, 컴파일러가 경고를 발생시키지 않도록 도와줍니다.
이렇게 compileSdk, targetSdk, targetApi는 각각의 역할이 있으며, 안드로이드 애플리케이션의 호환성과 기능성을 관리하는 데 중요한 요소입니다.

AndroidManifest.xml의 tools:targetApi는  특정 API 레벨에서의 동작을 명시적으로 지정하는 데 사용됩니다. 이 속성은 주로 Lint 도구와 관련이 있으며, 코드에서 특정 API를 사용할 때 발생할 수 있는 경고를 제어하는 데 도움을 줍니다.

주요 기능:
Lint 경고 제어: tools:targetApi를 사용하면 특정 API 레벨에서 사용할 수 있는 메서드나 속성을 명시할 수 있습니다. 이를 통해 Lint 도구가 해당 API를 사용할 때 발생할 수 있는 경고를 무시하도록 할 수 있습니다.

코드 문서화: 이 속성을 사용하면 코드에서 어떤 API 레벨을 대상으로 하고 있는지를 명확히 할 수 있어, 다른 개발자들이 코드를 이해하는 데 도움이 됩니다.

조건부 코드 실행: tools:targetApi는 주로 XML에서 사용되며, 특정 API 레벨에 따라 다른 동작을 정의할 수 있습니다. 예를 들어, 특정 API 레벨에서만 적용되는 속성을 설정할 수 있습니다.

728x90
Comments