Reputation: 9595
I want to change the minimum SDK version in Android Studio from API 12 to API 14. I have tried changing it in the manifest file, i.e.,
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
and rebuilding the project, but I still get the Android Studio IDE throwing up some errors. I presume I have to set the min SDK in 'project properties' or something similar so the IDE recognizes the change, but I can't find where this is done in Android Studio.
Upvotes: 505
Views: 813149
Reputation: 11060
New Android SDK Upgrade Assistant
Starting with Android Studio Giraffe, see the steps required to upgrade the targetSdkVersion, or the API level that your app targets, directly in the Studio IDE. The Android SDK Upgrade Assistant pulls documentation directly into its tool window, so you don't have to jump back and forth between your browser and the IDE.
To open the Android SDK Upgrade Assistant, go to Tools > Android SDK Upgrade Assistant
. In the Assistant panel, select the API level that you want to upgrade to for guidance. For the best experience, you should upgrade targetSdkVersion
values one level at a time.
Upvotes: 1
Reputation: 842
To change the minimum SDK version in Android Studio just...
1). Right click on "app" in the "Project" panel and choose "Open Module Settings"
2). Select the new "Min SDK Version" on the "Default Config" tab
3). Click on "OK" and the project will now resync with the new Gradle settings.
Upvotes: 4
Reputation: 14389
When you want to update your minSdkVersion in an existing Android project...
build.gradle (Module: YourProject)
under Gradle Script andbuild.gradle (Project: YourProject.app)
.An example of 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'])
}
After updating the build.gradle's minSdkVersion
, you have to click on the button to sync gradle file ("Sync Project with Gradle files"). That will clear the marker.
Updating manifest.xml, for e.g. deleting any references to SDK levels in the manifest file, is NOT necessary anymore in Android Studio.
Upvotes: 672
Reputation: 2109
Update 2022
For Android Studio users:
Right click the App directory and
Choose the "Open Module Settings" (F4) option
Change the "Min SDK Version" in the Default Config tab
NOTE:
You might also want to change;
the "Target SDK Version" in the Default Config tab and
the "Compile SDK Version" in the Properties tab
Click Apply, then OK, and Gradle should automatically be synced
For users of older Android Studio versions:
Upvotes: 210
Reputation: 34225
When you want to change minimum SDK you should take care of minSdkVersion
[About] in module build.garadle
android {
defaultConfig {
minSdkVersion 21
}
}
Upvotes: 3
Reputation: 390
In android studio you can easily press:
android studio
, then press on app first.
Then, continue with step three as follows.You can also change the versionCode
of your app there.
Upvotes: 11
Reputation: 727
For the latest Android Studio v2.3.3 (October 11th, 2017) :
1. Click View
on menu bar
2. Click Open Module Settings
3. Open Flavors
tab
4. Choose Min Sdk
version you need
6. Click OK
Upvotes: 6
Reputation: 77
Gradle Scripts ->
build.gradle (Module: app) ->
minSdkVersion (Your min sdk version)
Upvotes: 0
Reputation: 146
Changing the minSdkVersion in the manifest is not necessary. If you change it in the gradle build file, as seen below, you accomplish what you need to do.
defaultConfig {
applicationId "com.demo.myanswer"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
Upvotes: 1
Reputation: 527
In Android studio open build.gradle and edit the following section:
defaultConfig {
applicationId "com.demo.myanswer"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
here you can change minSdkVersion from 12 to 14
Upvotes: 3
Reputation: 3880
According to this answer, you just don't include minsdkversion in the manifest.xml, and the build system will use the values from the build.gradle file and put the information into the final apk.
Because the build system needs this information anyway, this makes sense. You should not need to define this values two times.
You just have to sync the project after changing the build.gradle
file, but Android Studio 0.5.2 display a yellow status bar on top of the build.gradle editor window to help you
Also note there at least two build.gradle
files: one master and one for the app/module. The one to change is in the app/module, it already includes a property minSdkVersion
in a newly generated project.
Upvotes: 6
Reputation: 6040
As now Android Studio is stable, there is an easy way to do it.
PS: Though this question was already answered but Android Studio has changed a little bit by its stable release. So an easy straight forward way will help any new answer seeker landing here.
Upvotes: 142
Reputation: 2431
In build.gradle
change minSdkVersion 13
to minSdkVersion 8
Thats all you need to do. I solved my problem by only doing this.
defaultConfig {
applicationId "com.example.sabrim.sbrtest"
minSdkVersion 8
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
Upvotes: 6
Reputation: 404
If you're having troubles specifying the SDK target to Google APIs instead of the base Platform SDK just change the compileSdkVersion 19
to compileSdkVersion "Google Inc.:Google APIs:19"
Upvotes: 5
Reputation: 4808
As well as updating the manifest, update the module's build.gradle
file too (it's listed in the project pane just below the manifest - if there's no minSdkVersion
key in it, you're looking at the wrong one, as there's a couple). A rebuild and things should be fine...
Upvotes: 4
Reputation: 11
For me what worked was: (right click)project->android tools->clear lint markers. Although for some reason the Manifest reverted to the old (lower) minimum API level, but after I changed it back to the new (higher) API level there was no red error underline and the project now uses the new minimum API level.
Edit: Sorry, I see you were using Android Studio, not Eclipse. But I guess there is a similar 'clear lint markers' in Studio somewhere and it might solve the problem.
Upvotes: 0