Android 2.1 (Eclair, API 레벨 7)과 호환되어야하는 애플리케이션이 있습니다. Android 2.2+ (Froyo, API 레벨 8)에서만 지원되는 매니페스트 속성을 사용하고 싶습니다. 일반적으로 내 코드 내에서 직접 호출 (즉, 리플렉션을 통하지 않음)하지 않으려합니다. ANY 레벨 8 API를 사용합니다. 우리가 조심해야 지금낮은 API 레벨에 맞춰 상위 API 레벨의 매니페스트 속성을 지원합니까?
<uses-sdk android:minSdkVersion="7"/>
주의해야한다 :
이 문제에 대한 허용 솔루션은 이전 버전과의 호환성을 표시하기 위해 프로 요 (API 8)에 대해 컴파일하고 manfiest에서 사용-SDK 태그를 포함하는 것입니다 Froyo 관련 API 호출을 실수로 사용하지 않았는지 확인하기 위해 Eclair에 대한 광범위한 테스트 (자동화 된 테스트 및/또는 수동으로).
내 의견으로는 이것은 거의 받아 들일 수없는 해결책입니다. 필자는 리플렉션을 사용하여 애플리케이션의 기본 요구 사항보다 높은 수준의 API를 호출하는 것을 선호하며 기본 수준 이상의 매니페스트 설정 만 지원하려고합니다. 깨끗하고 간단하게 해결할 수있는 방법이 있습니까?
현재 해결 방법은 기본 API와 호환되지 않는 매니페스트 항목을 제거하고 공개 릴리스 전에 테스트 컴파일을 수행하는 것입니다.
의견을 보내 주셔서 감사합니다.