在我们编程的过程中会出现 Call requires API level 9 (current min is 1) ,这个问题有时会在我们既是在build.gradle中设置了最小sdk和target sdk也会报错 :
Call requires API level 9 (current min is 1): android.support.v7.widget.RecyclerView#setLayoutManager less... (Ctrl+F1)
This check scans through all the Android API calls in the application and warns about any calls that are not available on all versions targeted by this application (according to its minimum SDK attribute in the manifest).
If you really want to use this API and don't need to support older devices just set the minSdkVersion
in your build.gradle
or AndroidManifest.xml
files.
If your code is deliberately accessing newer APIs, and you have ensured (e.g. with conditional execution) that this code will only ever be called on a supported platform, then you can annotate your class or method with the @TargetApi
annotation specifying the local minimum SDK to apply, such as @TargetApi(11)
, such that this check considers 11 rather than your manifest file's minimum SDK as the required API level.
If you are deliberately setting android:
attributes in style definitions, make sure you place this in a values-vNN
folder in order to avoid running into runtime conflicts on certain devices where manufacturers have added custom attributes whose ids conflict with the new ones on later platforms.
Similarly, you can use tools:targetApi="11" in an XML file to indicate that the element will only be inflated in an adequate context.
解决这个问题的办法除了可以用注解, 版本判断 ,xml文件中注释,还可以在清单文件使用
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="25"/>
这行代码解决.