我在Android Studio中使用代码分析。
我有如下的类:
private class MyListAdapter extends ArrayAdapter<MyObject> {
public void addAll (Collection<? extends MyObject> collection){
super.addAll(collection);
}
public void addAll (MyObject... items){
super.addAll(items);
}
}这两种方法都被标记为存在以下问题:
“调用需要API级别11 (当前最小值为9)”
这不是新代码。它从项目开始就已经存在了。它在Android API9上运行(不管是什么)
为什么这是一个问题?更重要的是,为什么它不会在运行API9的设备上导致某种运行时错误。
发布于 2015-08-12 20:55:33
该标志的作用是告诉您该函数在API11 here以下将不起作用
不过,您仍然可以使用API 11或更高版本在设备上运行它。
如果您确实需要在低于11的API上运行它,我建议您检查API版本,如下所示
int currentApiVersion = android.os.Build.VERSION.SDK_INT;
if (currentApiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB){
// do some method for HoneyComb(API 11) or higher
} else{
// do some method for something lower than HoneyComb(API 11)
}或者在项目build.gradle文件中更改minSdkVersion,声明应用程序适用于API11和更高版本
defaultConfig {
....
minSdkVersion 11 // Minimum version that you want
targetSdkVersion 22
....
}发布于 2015-08-12 20:40:24
打开项目build.gradle并更改
defaultConfig {
.....
minSdkVersion 9 // change 9 to 11
targetSdkVersion 22
versionCode 1
versionName "1.0"
}https://stackoverflow.com/questions/31965416
复制相似问题