2014-11-26 2 views
-1

API 레벨 18을 사용하는 몇 가지 기능을 제공하는 안드로이드 라이브러리 프로젝트가 있습니다.하지만이 라이브러리를 MinSDK 17이있는 다른 프로젝트에 포함하고 싶습니다. 라이브러리의 MinSDK를 18-17 단계에서는 빌드 오류가 발생합니다. @TargetApi()과 높은 수준의 기능을 사용하는 모든 클래스/메소드에 주석을 달아야합니다.안드로이드는 전 세계적으로 @TargetApi() 어노테이션을 적용합니다.

내 모든 클래스 (DRY)에서 동일한 코드 행을 복사하여 붙여 넣기를 원치 않으므로 Manifest에 정의 된대로 MinSDK를 보존하면서보다 일반적인 TargetAPI 주석 설정 방법을 알고 싶습니다.

API 17 이하 (opt-out 대 opt-in)를 사용하는 클래스/메소드에 대해서만 설명 할 수 있도록 TargetApi를 전역 설정하거나 '주석을 inverse'하는 방법이 있습니까?

+0

@Downvoter 다시 유용한 설명이없는 downvote ... 이유 ... – matcauthon

답변

0

이 매니페스트이 추가로 간단합니다 : 이것은 성공적인 구축으로 이어질 것입니다

<uses-sdk tools:overrideLibrary="package1, package2, ..." /> 

. 현재 라이브러리를 사용하는 응용 프로그램은 유효한 메소드 만 호출해야합니다. 이를 위해 @Marcin Orlowski의 대답을 사용할 수 있습니다.

관련 문제