【问题标题】:Android Studio - Unable to run app on device minSdk(API 23, N) != device Sdk(API 22)Android Studio - 无法在设备 minSdk(API 23,N)上运行应用程序!= 设备 Sdk(API 22)
【发布时间】:2016-08-01 10:59:51
【问题描述】:

所以我在我的电脑上重新安装了 linux,在我重新安装了 android studio 之后,我尝试获取一个我写到我手机上的应用程序,这以前没有问题。该应用程序针对具有 API 16 或更高版本的设备,但显然 Android Studio 现在具有称为 N 预览的功能,它不允许我在手机上运行任何东西。特别是当我点击运行按钮时,它告诉我

minSdk(API 23, N) != 设备 Sdk(API 22)

我知道这似乎目标 API 设置不正确,但是当我启动项目时,我将其设置为 16。现在我该如何解决这个问题?还有什么是更改项目目标 API 的最简洁方法?我只是更改构建 gradle 吗?

非常感谢!

应用 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 文件
  • 将您的build.gradle 添加到帖子

标签: android api android-studio


【解决方案1】:

更改 minSdkVersion 可能并不总是有帮助。如前所述,检查您的 SDK 管理器,并确保您也安装了必要的版本(我在 Gradle 中更改了我的版本,但这只会让我的情况变得更糟)。

【讨论】:

    【解决方案2】:

    我在 Android Studio 上也遇到了同样的情况,所以我无法启动新的模拟器。 我不得不: Gradle 脚本 -> build.gradle (module:app) -> minSdkVersion 14

    (将“minSdkVersion”值更新为“14”。

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

    【讨论】:

      【解决方案3】:

      您可以做一件事,只需打开 sdk 管理器,因为我有一个并安装,ÄNDROID N (API 23 N PREVIEW PACKAGES) 试一试,而不是更改 gradle 文件

      【讨论】:

      • Ä 是错字吗?
      【解决方案4】:

      在 build.gradle(Module:app) 文件中将 minSdkVersion 更改为您的目标设备 sdkVersion 将出现在 Gradle 脚本的左侧。例如:minSdkVersion 24 //更改您的目标设备值的版本值(如 23 或 22 或 21 等)

      根据您的配置,您必须将 minSdkVersion 23 更改为 minSdkVersion 22,因为您的目标设备处于 API LEVEL 1

      【讨论】:

        【解决方案5】:

        我最近遇到了这个问题,这很奇怪,在另一个线程上有人建议你应该将你的usb设置更改为“MTP/FTP”之类的,这没有意义,也不适用于我的情况。

        在搜索了这个问题的一些例子之后,我发现大多数人在minSDK/'targetSDK'/'compileSdkVersion'不是int而是字母时都会遇到这个问题。

        我更改了我的MNC/N' to 23, andbuild - clean build`,问题解决了。

        希望它可以帮助某人。

        【讨论】:

          【解决方案6】:

          我在 Android Studio 中的这个工作:按住 ctl+alt+shift 按“S”,这将打开项目结构。单击“Flavors”选项卡,如果出现您的设备 sdk 的版本,请检查 min sdk 版本,如果您看到选择它并单击“确定”,但如果您没有看到您的 sdk 设备的选项,请单击取消。转到 build.gradle(app) 文件并在 min sdk version 中输入您的 sdk 设备的版本(android studio 会建议您安装版本 sdk)。之后按住 ctl+alt+shift 按“S”,版本 sdk min 就会出现,只需选择它并单击“确定”。 :)

          【讨论】:

            【解决方案7】:

            CommonsWare的解释。关键是预览版,所以 使用 N compileSdkVersion 时,旧级别设备无论如何都无法安装应用程序。

            【讨论】:

              【解决方案8】:

              改变 compileSdkVersion 'android-N'compileSdkVersion 22targetSdkVersion 'N'targetSdkVersion 22

              【讨论】:

              • 谢谢你成功了。有什么解释为什么突然设置为 android-N 和 N?
              • @Suppenkasper 如果我没记错的话是只有android studio 2.1+,因为它是支持"24" sdk,并且AS set max support sdk。
              【解决方案9】:

              检查您的 build.gradle 文件以确保设置了正确的 min sdk...android studio 使用 build.gradle 覆盖清单

              【讨论】:

              • build.gradle 说 targetSdkVersion 'N' 。改成 16 还是一样的问题
              • 更改min sdk...目标是最大值min是它支持的最低值..那么compile sdk就是你编译的android api版本
              • minsdk 已经是 16 岁了。我认为它更多地是关于这个 N Preview 的事情。我想它是最近推出的什么的
              • 发布 gradle 文件的屏幕截图并记录它给您的错误
              • 对于任何到达这里但仍需要帮助的人。在 build.gradle 中从 STRING 'N' 更改为整数 22/23
              猜你喜欢
              • 1970-01-01
              • 2018-06-21
              • 2015-05-23
              • 1970-01-01
              • 2018-01-08
              • 1970-01-01
              • 1970-01-01
              • 2020-07-17
              • 1970-01-01
              相关资源
              最近更新 更多