Android Studio - 无法在设备上运行应用程序 minSdk(API 23, N) != 设备Sdk(API 22)

16
我重新在电脑上安装了Linux,并重新安装了Android Studio后,尝试将我之前写的应用程序传输到手机上。该应用程序的目标设备为API 16或更高版本,但显然Android Studio现在具有称为N Preview的功能,不允许我在手机上运行任何内容。特别是当我点击运行按钮时,它告诉我:
minSdk(API 23, N) != device Sdk(API 22)
我知道这似乎是目标API未正确设置,但是当我启动项目时,我已经将其设置为16了。现在,我该怎么解决这个问题?另外,更改项目的目标API的最简单方法是什么?我只需要更改构建Gradle文件吗?
非常感谢!
app gradle文件:
apply plugin: 'com.android.application'

android {
compileSdkVersion 'android-N'
buildToolsVersion "23.0.3"

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

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

输入图像描述


发布你的应用 gradle 文件。 - Vivek Mishra
将您的 build.gradle 添加到帖子中。 - Yuri Misyac
9个回答

15

compileSdkVersion 'android-N'更改为compileSdkVersion 22,并将targetSdkVersion 'N'更改为targetSdkVersion 22


1
谢谢,这解决了问题。为什么突然设置为Android-N和N? - Suppenkasper
1
@Suppenkasper 如果我没记错的话,它是唯一支持Android Studio 2.1+的版本,因为它支持“24”SDK,并且AS设置了最大支持SDK。 - Yuri Misyac

3

我在Android Studio上也遇到了同样的问题,无法启动新的模拟器。

我只需要进行以下步骤:

Gradle脚本 -> build.gradle(module:app) -> 将minSdkVersion的值更新为“14”。

现在我可以成功启动一个新的模拟器了。


2
查看CommonsWare的解释。关键点在于预览版,因此在使用N compileSdkVersion时,较旧版本的设备无论如何都无法安装应用程序。请注意保留HTML标签。

1

这在Android Studio中对我有效:按住ctl+alt+shift键,然后按'S'键,这将打开项目结构。点击“Flavors”选项卡,在最小SDK版本中检查是否出现了您设备的SDK版本,如果看到,请选择它并点击“OK”,但是如果您没有看到SDK设备的选项,请单击取消。进入build.gradle(app)文件,在最小SDK版本中输入您的SDK设备版本(Android Studio会建议您安装该版本SDK)。之后,按住ctl+alt+shift键再次按'S'键,最小版本SDK将出现,只需选择它并点击“OK”即可。


0

我最近遇到了这个问题,非常奇怪,在另一个线程中有人建议你将USB设置更改为"MTP/FTP"或其他什么,这没有意义,对我的情况也没有用。

在搜索一些此类问题的示例案例后,我发现大多数人在minSDK/'targetSDK'/'compileSdkVersion'不是整数而是字母时会出现此问题。

我将MNC/N'更改为23,并进行了“清理构建”,问题得到解决。

希望能帮助到某些人。


0

在build.gradle(Module:app)文件中将minSdkVersion更改为您的目标设备sdkVersion,它将显示在Gradle Scripts的左侧。例如:minSdkVersion 24//将版本值更改为您的目标设备值(如23、22、21等)

根据您的配置,您需要将minSdkVersion 23更改为minSdkVersion 22,因为您的目标设备在API LEVEL 1上。


0
请检查您的 build.gradle 文件,确保正确设置了 min sdk... Android Studio 会使用 build.gradle 覆盖清单文件。

build.gradle文件中写着targetSdkVersion 'N'。将其改为16,但问题仍然存在。 - Suppenkasper
更改最小SDK...目标是最大值,最小支持的是最低值..然后编译SDK是您编译使用的Android API版本。 - kofoworola
minsdk已经是16了。我认为这更多是关于N预览版的事情。我想它最近被引入了或者什么的。 - Suppenkasper
请发布Gradle文件的屏幕截图和错误日志。 - kofoworola
对于任何仍需要帮助的人,请将 build.gradle 中的 STRING 'N' 更改为整数 22/23。 - Aeramor
我在使用 Android N 进行编译时也遇到了同样的问题:minsdk(api 23,N preview)> devicesdk(api 23)。请帮帮我,我想用 Android N 进行编译。 - user1986760

0

你可以做一件事情,只需打开SDK管理器,然后安装“ANDROID N(API 23 N预览包)”,试试看而不是更改gradle文件。


Ä 是一个打字错误吗? - Timothy Truckle

0

更改minSdkVersion并不总是有帮助的。如已建议,请检查您的SDK管理器,并确保您还安装了必要的版本(我曾在Gradle中更改过我的版本,但这只会让我的问题变得更糟)。


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