更改 Android Studio 的 API 级别

496

我想在Android Studio中将最低SDK版本从API 12更改为API 14。 我已经尝试在清单文件中更改它,即:

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />

我试着重新构建这个项目,但是Android Studio IDE仍然显示出一些错误。我猜想我需要在“项目属性”或类似的地方设置最小SDK,这样IDE才能识别更改,但我找不到在Android Studio中执行此操作的位置。


1
有些错误是什么?如果没有logcat,我们无法帮助您。 - Arash GM
1
这不是编译错误。当我尝试在布局XML中使用GridLayout时,IDE会给出红色下划线,告诉我需要最低API级别14。因此,在创建项目后,Android Studio中必须有地方可以设置最低API级别。我已经看到Eclipse的类似帖子,但没有看到Android Studio的。 - James B
你安装了API 14 SDK包吗? - ramaral
如果我开始一个新项目并从一开始就选择API级别14,我在Android Studio中开发时没有问题,也就是说,我必须安装API Level 14 SDK。但是,如果我只想更新现有项目以将最低要求设置为API 14,我无法确定在Android Studio GUI IDE中告诉它执行此操作的位置。 - James B
发布你的“Logcat”。要更改“MinSDKVersion”,这是你已经尝试过的最简单的解决方案...即在“清单”中进行更改。 - Mitesh Shah
显示剩余3条评论
17个回答

665

当您想在现有的Android项目中更新minSdkVersion时...

  1. 更新Gradle脚本下的build.gradle (Module: YourProject)
    并确保它不是build.gradle (Project: YourProject.app)

build.gradle的示例:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"

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

dependencies {
    androidTestCompile 'junit:junit:4.12'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
  1. 同步 Gradle 按钮(刷新所有 Gradle 项目也可以起到同步作用)。

enter image description here
或者
enter image description here

  1. 重新构建项目

更新 build.gradleminSdkVersion 后,您需要点击按钮来同步 Gradle 文件(“Sync Project with Gradle files”)。这将清除标记。

在 Android Studio 中不再需要更新 manifest.xml,例如删除清单文件中的 SDK 级别引用。


7
我的项目的 build.gradle 文件是空的?如何更新语法?--- 糟糕,有两个 build.gradle 文件。我找到了在 -> src 中的那个文件,其中包含版本等信息。 - mobibob
4
使用这个建议,我设法让事情同步了,但在编译没有错误之前,我必须退出Android Studio。我执行了许多小步骤,所以不知道哪一步是真正必要的。 - mobibob
6
为什么他们让这变得如此麻烦?我记得在 Eclipse 中我只需要在一个地方做这个... - Dean Wild
1
@Quantumdroid 这是因为你正在使用 Android 视图。我不喜欢那个视图,也不使用它。 - Sotti
2
对于Android Studio的初学者,“同步gradle按钮”位于“工具-> Android->使用Gradle文件同步项目”中。 “重建项目”在“构建-> 重建项目”中。 - CGR
显示剩余7条评论

202

更新 2022

对于 Android Studio 用户:

  1. 右键单击App目录,
    选择“打开模块设置”(F4)选项 右键单击 App 然后选择打开模块设置

  2. 默认配置选项卡中更改Min SDK版本
    选择 Min SDK 版本 注意:
    您可能还想更改;
    默认配置选项卡中的Target SDK版本
    属性选项卡中的Compile SDK版本 选择 Compile SDK 版本

  3. 点击应用(A),然后确定(O),Gradle应该会自动同步


对于旧版 Android Studio 用户:

  1. 右键单击App目录,
    选择“模块设置”(F4)选项
  2. 更改ADK平台为所需版本
  3. 点击确定(O),Gradle应该会自动同步

6
我认为上述提供的解决方案是最佳途径。让工具完成所有必要的更改,而不是你自己摆弄不同的文件,冒着搞砸事情或忘记重要细节的风险。 - GeertVc
2
这在Studio 0.8.2中不起作用。您可以更改设置并按应用,但是工作室将忽略此操作。<br/>解决方法:
  • 关闭Android Studio
  • 编辑“/app/build.gradle”
  • 更改SDK-MinVersion条目
  • 重新启动Android Studio
Gradle会自动同步
- Martin
在 Studio 1.4 中,您需要查看“Flavors”选项卡。请参考priyankvex的答案。 - Yannick
在Studio 3.5中,您需要单击“默认配置”选项卡。似乎不再存在Flavors选项卡。 - Sum None

142

现在Android Studio已经很稳定了,有一个简单的方法可以实现。

  1. 右击你的项目文件
  2. 选择“打开模块设置”
  3. 进入“Flavors”选项卡。

进入图像描述

  1. 从下拉列表中选择最小SDK版本

PS:虽然这个问题已经被回答过了,但由于Android Studio通过稳定版本进行了一些更改。因此,一个易于理解的直接的方法将帮助任何新的问题寻求者。


1
编辑gradle文件对我没用,但这个方法有效。谢谢! - Al0x
2
这又有所变化:不再有“Flavors”选项卡。相反,在第3步中,在项目设置区域中单击“模块”,然后使用项目级别下拉框选择API版本。这与设置最小API版本不同,而是用于构建应用程序的版本。 - hamx0r
3
我只在下拉菜单中看到API 23,我需要API 10。 - Reign.85
1
这个 IDE 版本之间变化很大,导致旧代码运行出现了很多问题。与微软所展示的向后兼容性的传统相比,非常非常令人失望。"little bit?"(有点?) - user30478
被接受的答案和第二个最“被接受”的答案对我没用,构建时出现了很多错误,这是适合我的正确解决方案!谢谢 - Seichi

10

在Android Studio中,您可以轻松按如下组合键:

  1. Ctrl + Shift + Alt + S
  2. 如果您有较新版本的android studio,则首先点击"app"。
  3. 然后按照以下步骤进行:
  4. 一个窗口将打开,其中包含许多选项。
  5. 进入Flavors,这就是您需要的全部。

您还可以在那里更改您的应用程序的versionCode


6
build.gradle 中将 minSdkVersion 13 修改为 minSdkVersion 8。这样就可以解决问题了。我只做了这一步就解决了我的问题。
defaultConfig {
    applicationId "com.example.sabrim.sbrtest"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}

6
根据这篇答案,您只需要在manifest.xml文件中不包含minsdkversion,构建系统将使用build.gradle文件中的值,并将信息放入最终的apk中。
因为构建系统需要此信息,所以这是有道理的。 您不应该需要两次定义此值。
更改build.gradle文件后,您只需同步项目,但Android Studio 0.5.2会在build.gradle编辑器窗口顶部显示黄色状态栏以帮助您。
还要注意,至少有两个build.gradle文件:一个主文件和一个用于应用程序/模块的文件。 要更改的是应用程序/模块中的文件,它已经在新生成的项目中包含了minSdkVersion属性。

6
对于最新的Android Studio v2.3.3(2017年10月11日): 1. 点击菜单栏上的“查看”(View) 2. 点击“打开模块设置”(Open Module Settings) 3. 打开“Flavors”选项卡 4. 选择所需的Min Sdk版本 5. 点击确定 IDE Project Structure Window

5

如果你遇到了在指定SDK目标为Google APIs而不是基础平台SDK方面的问题,只需将compileSdkVersion 19更改为compileSdkVersion "Google Inc.: Google APIs: 19"即可。


4

除了更新清单文件外,还需要更新模块的build.gradle文件(在项目窗格中清单文件下方列出 - 如果其中没有minSdkVersion键,则您正在查看错误的文件,因为有几个文件)。重新构建后一切应该都没问题...


3

文件>项目结构>模块,您可以从那里更改。


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