【发布时间】:2015-11-30 12:29:49
【问题描述】:
我有一些关于使用支持库的一般性问题,但我找不到很好的资源来回答这些问题。
上下文:
我正在开发的应用程序的最低 SDK 目标设置为 9。我正在使用支持库 v4 和 v7,我使用 gradle 导入这些支持库
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'
我还声明了要编译的 sdk 版本和最低 SDK 版本
minSdkVersion 9
compileSdkVersion 22
现在这将编译和构建一个没有错误的apk。但是当我把compileSDKVersion改成19的时候会报很多错误比如
错误:(2) 检索项目的父项时出错:未找到该资源 匹配给定名称“android:TextAppearance.Material.Inverse”。
告诉我我正在编译的 SDK 不包含兼容性库使用的某些资源,我应该改用以前的兼容性库。
问题:
我可以同时使用 v4 和 v7 编译的最低 SDK 版本是多少(或者 v4 和 v7 都支持的最低 SDK 版本是多少)?有没有办法查看 Android 支持存储库中的所有可用版本?
将最低 SDK 版本设置为 9 并将 compileSDKVersion 设置为 22 并使用针对 API 22 的支持库提供的元素是否有风险?我的意思是:由于缺少类/资源,我可能会出现运行时异常吗?
有没有办法配置 Gradle 以显示一些潜在的不兼容性?我知道有时在使用比最低 API 更高的 API 中存在的方法时会出现编译错误。但它是否也适用于 xml(例如主题或资源)?
我知道当(支持)库引用已编译 SDK 中不存在的资源时,我会遇到编译错误。有没有办法为最低 SDK 获得类似的警告/错误?
对不起,如果问题太模糊,如果您需要一些精确度,请告诉我!如果您知道可以回答部分问题的有趣资源,请不要犹豫在此处分享;)
【问题讨论】:
标签: android gradle android-gradle-plugin android-support-library android-appcompat