首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要api 11,min是api 9,但在api 9上运行

需要api 11,min是api 9,但在api 9上运行
EN

Stack Overflow用户
提问于 2015-08-12 20:35:17
回答 2查看 67关注 0票数 0

我在Android Studio中使用代码分析。

我有如下的类:

代码语言:javascript
复制
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的设备上导致某种运行时错误。

EN

回答 2

Stack Overflow用户

发布于 2015-08-12 20:55:33

该标志的作用是告诉您该函数在API11 here以下将不起作用

不过,您仍然可以使用API 11或更高版本在设备上运行它。

如果您确实需要在低于11的API上运行它,我建议您检查API版本,如下所示

代码语言:javascript
复制
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和更高版本

代码语言:javascript
复制
defaultConfig {
        ....
        minSdkVersion 11 // Minimum version that you want
        targetSdkVersion 22
        ....
}
票数 1
EN

Stack Overflow用户

发布于 2015-08-12 20:40:24

打开项目build.gradle并更改

代码语言:javascript
复制
defaultConfig {
       .....
        minSdkVersion 9  // change 9  to 11
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31965416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档