Android错误:No,minSdk(API 19)> deviceSdk(API 1)

23
我刚刚安装了Android Studio并尝试编译我的第一个项目。 该项目已经被编译,但是当“选择设备”菜单打开时,设备和状态显示为[离线],兼容性给出Android错误消息: 'No, minSdk(API 19) > deviceSdk(API 1)' 这是什么意思? 我该如何解决?
我的build.gradle文件如下:
    apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.yaron.myapplication"
        minSdkVersion 19
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
}

你使用的是哪个设备?它运行的是哪个版本的安卓系统? - Code-Apprentice
19个回答

29

有几个需要检查的地方。

如果您打开Android Studio的终端窗口并进入sdk平台工具安装路径(类似C:\ Android \ SDK \ platform-tools),然后运行以下命令:

adb devices

是否列出了设备?如果没有,则说明您未正确设置设备或安装了正确的驱动程序。

在手机上,请确保您已启用开发人员选项(转到设置->关于手机,然后连续点击Build Number 7次左右)

启用后,请进入设置下的开发者选项,并确保启用USB调试。

如果 adb devices 对于您连接的设备显示“无权限”,请确保首先将其连接为MTP设备。这将隐式提示您导入计算机的指纹并允许将来通过USB进行调试连接。


6
如果您已经勾选了此选项,请在设备连接到计算机时取消勾选,然后再次勾选。 - jarosik
先执行adb devices命令。这是我的解决方法。请参见此处https://dev59.com/wWox5IYBdhLWcg3wcTzr - jim
1
请将@Jordi的答案添加到此答案下方。adb devices列出了设备,但对我来说显示“无权限”,因此Android Studio无法告知API版本并假定为1(请参见原始问题!)。隐式连接MTP解决了这个问题。诚然,许多人以前可能已经这样做过,但如果您正在使用多个设备进行调试,则很可能以前没有这样做过。 - Simon Fischer

10
在 build.gradle 文件中,将 minSdkVersion 改为 7。

8
ADB安全设备授权存储在adb目录中的白名单中。如果您想通过tcp作为本地主机从运行在Android设备上的进程连接到ADB守护程序,则连接成功,但是不会显示授权提示,并且设备将显示为离线状态。
您需要具有root访问权限才能从白名单中删除RSA密钥。当手机屏幕上出现“允许USB调试”弹出窗口时,按“确定”启用它。如果没有,请拔下并重新插入以查看提示。 enter image description here

8

我的平板电脑也遇到了同样的问题,它使用的是Android 4.4.2系统,我通过启用MTP解决了这个问题:

设置-> 存储-> 右上角三个点-> USB计算机连接-> 启用 "媒体设备 (MTP)"

当然,调试已经启用了。


我可以确认在安卓5.1.1和索尼Z3 Compact上,MTP模式可以帮助解决这个问题。 - xwild
对我来说恰恰相反。我不得不将平板电脑设置为FTP,而不是MTP。奇怪:S - MSX

4

以下步骤解决了我的问题:

步骤1:打开Android Studio,点击菜单,选择“File > Project Structure”。

步骤2:在项目结构窗口中,从左侧的列表中选择app模块。

步骤3:选择Flavors选项卡,在此下面您将有一个设置“Min Sdk Version”和“Target Sdk Version”的选项。

步骤4:选择两个版本并单击OK

摘自http://abhiandroid.com/androidstudio/change-api-sdk-level-android-studio.html

祝好运!


非常感谢! - Jignesh

3

在Android Studio设备选择器中,使用安卓4.4.2版本的三星平板出现了“兼容性不足,minSdk(API 19) > deviceSdk(API 1)”的错误。以下简单步骤解决了我的问题:

  1. 断开USB调试电缆
  2. 在设备设置中打开开发者选项
  3. 点击吊销USB调试授权
  4. 点击“确定”,以吊销之前所有计算机的“USB调试访问”授权
  5. 重新连接USB,并接受新的“允许USB调试”的授权
  6. 开始新的调试会话

2

我的智能手机存储空间已满。清理后,我可以使用它,设备变得“兼容”了。


5
这怎么是对问题的回答? - Neil Masson
如果存储已满,设备将无法加载该应用程序。它将无法执行许多功能。 - user3956566

2
这通常意味着您没有允许USB调试。当您将设备连接到电脑时,设备应提示您“允许USB调试吗?”只需点击“确定”即可启用它。

2
问题出在你所使用的构建工具版本。
请尝试以下操作:
Android Studio => 打开您的项目 => 文件 => 项目结构 => 应用程序(即左侧面板)=> 属性 => 构建工具版本 =>
选择19.1.0。
对我来说运行良好...只需试试它 :)

1
build.gradle(Module:app)文件中的minSdkVersion更改为目标设备的sdkVersion,该文件将出现在Gradle Scripts左侧。
例如:minSdkVersion 24 将版本值更改为您的目标设备值(23、22、21或其他)
根据您的配置,您需要将minSdkVersion 19更改为minSdkVersion 1,因为您的目标设备位于API Level 1。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接