我有一个Android库项目,它提供了一些使用API级别18的功能。但是我也希望将这个库包含在另一个使用MinSDK 17的项目中。当我将库的MinSDK从18级更改为17时,这将导致构建错误。我必须使用@TargetApi()
注释所有使用更高级别功能的类/方法。
因为我不想在我的所有类(DRY)中复制和粘贴相同的代码行,所以我想知道一种更通用的设置TargetAPI注释的方法,同时保留Manifest中定义的MinSDK。
有没有办法全局设置TargetApi或反映注释',所以我只需要注释使用API 17或更低版本的类/方法(选择退出vs选择加入)?
答案 0 :(得分:0)
就像将它添加到Manifest一样简单:
<uses-sdk tools:overrideLibrary="package1, package2, ..." />
这将导致成功构建。此时,使用库的应用程序必须确保仅调用有效方法。为此,可以使用@Marcin Orlowski的答案。