[英]Android support libraries, compile SDK version and minimum SDK version
关于支持库的使用,我有一些一般性问题,但是我找不到很好的资源来回答。
内容:
我正在使用的应用程序的最低SDK目标设置为9。我正在使用通过gradle导入的支持库v4和v7
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也获得类似的警告/错误?
抱歉,如果问题太含糊,请告诉我是否需要一定的精度! 如果您知道有趣的资源可能会回答一部分问题,请不要在此处分享;)
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
这是因为支持库v22需要API 22。
您无法使用API 19进行编译。
我可以同时使用v4和v7编译的最低SDK版本是什么(或者v4和v7都支持的最低SDK版本是什么)
通常minSdk是库的名称。 v4是api4,appcompat是api7。
有没有办法查看Android支持存储库中的所有可用版本?
例如,您可以在打开aar文件的文件夹androidsdk\\extras\\android\\m2repository\\com\\android\\support
检查它。
将最低SDK版本设置为9并将compileSDKVersion设置为22并使用支持库目标API 22提供的元素是否有风险? 我的意思是:由于缺少类/资源,我可能会获得运行时异常吗?
如果您使用的是支持库v22,则为否。
我知道当(支持)库引用已编译的SDK中不存在的资源时出现编译错误。 有没有办法为最小的SDK也获得类似的警告/错误?
不,根据我的经验。
有一条一般规则。
库主版本号是最小编译sdk版本。
它的意思是:
support libraries v21.x.x -> requires API 21
support libraries v22.x.x -> requires API 22
support libraries v23.x.x -> requires API 23
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.