การเปลี่ยนระดับ API ของ Android Studio


414

ฉันต้องการเปลี่ยนเวอร์ชั่น SDK ขั้นต่ำใน Android Studio จาก API 12 เป็น API 14 ฉันได้ลองเปลี่ยนเป็นไฟล์ Manifest เช่น

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

และสร้างโครงการขึ้นใหม่ แต่ฉันยังคงได้รับ Android Studio IDE ทำให้เกิดข้อผิดพลาด ฉันคิดว่าฉันต้องตั้งค่า SDK ขั้นต่ำใน 'คุณสมบัติของโครงการ' หรือสิ่งที่คล้ายกันดังนั้น IDE จะรับรู้การเปลี่ยนแปลง แต่ฉันไม่สามารถหาสิ่งที่จะทำใน Android Studio


1
ข้อผิดพลาดบางอย่างคืออะไร? เราไม่สามารถช่วยคุณได้หากไม่มี logcat
Arash GM

1
พวกเขาไม่ได้รวบรวมข้อผิดพลาด เป็น IDE ที่ให้ขีดเส้นใต้สีแดงเมื่อฉันพยายามใช้ `GridLayout 'ในเลย์เอาต์ xml เช่นบอกฉันว่าต้องมี API ขั้นต่ำ 14 ระดับ ดังนั้นจะต้องมีที่ไหนสักแห่งใน Android Studio ที่คุณสามารถตั้งค่าระดับ API ขั้นต่ำได้หลังจากที่คุณสร้างโครงการ ฉันเห็นโพสต์ที่คล้ายกันสำหรับ Eclipse แต่ไม่ใช่สำหรับ Android Studio
James B

คุณได้ติดตั้งแพ็กเกจ SDK ระดับ 14 API หรือไม่
ramaral

ถ้าฉันเริ่มต้นโครงการใหม่และเลือก API ระดับ 14 จากเริ่มแรกฉันไม่มีปัญหาในการพัฒนาใน Android Studio เช่นฉันต้องติดตั้ง API ระดับ 14 SDK อย่างไรก็ตามถ้าฉันเพียงต้องการอัปเดตโครงการที่มีอยู่ให้ใช้ API 14 เป็นขั้นต่ำฉันไม่สามารถหาตำแหน่งที่อยู่ใน Android Studio GUI IDE ที่ฉันบอกให้ทำเช่นนี้ได้
James B

Logcatโพสต์ของคุณ และเพื่อเปลี่ยนสิ่งMinSDKVersionนี้เป็นทางออกที่ง่ายที่สุดที่คุณได้ลองไปแล้ว .. iechange inManifest
Mitesh Shah

คำตอบ:


582

เมื่อคุณต้องการอัพเดต minSdkVersion ของคุณในโครงการที่มีอยู่ ...

  1. อัปเดตbuild.gradle(Module: app) - ให้แน่ใจว่าเป็นหนึ่งภายใต้Gradle สคริปต์และมันก็เป็นไม่ได้ build.gradle(Project: yourproject)

ตัวอย่างของ 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. ปุ่ม Sync gradle (รีเฟรชโครงการ gradle ทั้งหมดยังใช้งานได้)

สำหรับผู้เริ่มต้นใน Android Studio "Sync gradle button" ตั้งอยู่ในเครื่องมือ -> Android -> ซิงค์โครงการที่มีไฟล์ Gradle "สร้างโครงการ" Build -> สร้างโครงการใหม่

  1. สร้างโครงการใหม่

หลังจากการปรับปรุงbuild.gradleของminSdkVersionคุณจะต้องคลิกที่ปุ่มเพื่อซิงค์ไฟล์ gradle ( 'โครงการซิงค์กับไฟล์ Gradle') ที่จะล้างเครื่องหมาย

การอัพเดตmanifest.xmlเช่นการลบการอ้างอิงถึงระดับ SDK ในไฟล์รายการนั้นไม่จำเป็นใน Android Studio อีกต่อไป


7
build.gradle ของโครงการของฉันว่างเปล่า ไวยากรณ์ที่ต้องอัพเดทคืออะไร? --- โอ้มีสองไฟล์ build.gradle ฉันพบหนึ่งใน -> src มีรุ่นอื่น ๆ
mobibob

4
การใช้คำแนะนำนี้ทำให้ฉันสามารถซิงค์สิ่งต่าง ๆ ได้ แต่ฉันต้องออกจาก Android Studio ก่อนที่การคอมไพล์จะไม่มีข้อผิดพลาด ฉันทำตามขั้นตอนเล็ก ๆ น้อย ๆ หลายครั้งดังนั้นฉันจึงไม่รู้ว่าขั้นตอนที่จำเป็นจริงๆคืออะไร
mobibob

5
ทำไมพวกเขาถึงทำให้ลูกเจ็บปวดอย่างนี้? ดูเหมือนจะจำในคราสฉันมีเพียงการทำเช่นนี้ในที่เดียว ...
คณบดีป่า

1
@DeanWild ใน Android Studio ก็เช่นกันในที่เดียว ลืมระดับ API ในไฟล์รายการ
Sotti

2
สำหรับผู้เริ่มต้นใน Android Studio "Sync gradle button" ตั้งอยู่ในTools -> Android -> Sync Project with Gradle Files"Rebuild project"Build -> Rebuild Project
CGR

169

สำหรับผู้ใช้ android studio:

  1. คลิกขวาที่ไดเรกทอรีแอพ
  2. เลือกตัวเลือก "การตั้งค่าโมดูล"
  3. เปลี่ยนแพลตฟอร์ม ADK ตามที่คุณต้องการ
  4. คลิกนำไปใช้

ระดับเสียงจะสร้างโครงการโดยอัตโนมัติ


3
วิธีแก้ปัญหาที่กล่าวมาคือวิธีที่ดีที่สุดสำหรับฉัน ปล่อยให้เครื่องมือทำการเปลี่ยนแปลงที่จำเป็นทั้งหมดด้วยตัวคุณเองเล่นซอกับไฟล์ต่าง ๆ เสี่ยงต่อการถูกขันหรือลืมรายละเอียดที่สำคัญ
GeertVc

2
สิ่งนี้ไม่ทำงานใน Studio 0.8.2 คุณสามารถเปลี่ยนการตั้งค่าและกด aplly ได้ แต่สตูดิโอจะไม่สนใจสิ่งนี้ <br/> วิธีแก้ไข: - ปิด Android Studio - แก้ไข "/app/build.gradle" - เปลี่ยนรายการ SDK-MinVersion - เริ่มการซิงค์ Android Studio Gradle ใหม่โดยอัตโนมัติ
Martin

ใน Studio 1.4 คุณต้องดูในแท็บ "Flavours" ดูคำตอบของ priyankvex
Yannick

ใน Studio 3.5 คุณต้องคลิกแท็บ "การกำหนดค่าเริ่มต้น" แท็บรสชาติไม่ปรากฏว่ามีอยู่อีกแล้ว
รวมไม่มี

135

ขณะนี้ Android Studio มีเสถียรภาพจึงมีวิธีที่ง่ายในการทำ

  1. คลิกขวาที่ไฟล์โครงการของคุณ
  2. เลือก "เปิดการตั้งค่าโมดูล"
  3. ไปที่แท็บ "รสชาติ"

ป้อนคำอธิบายรูปภาพที่นี่

  1. เลือกเวอร์ชั่น SDK ขั้นต่ำจากรายการดรอปดาวน์

PS:แม้ว่าคำถามนี้จะได้รับคำตอบแล้ว แต่ Android Studio ก็เปลี่ยนไปเล็กน้อยจากการปล่อยเสถียร ดังนั้นวิธีการตรงไปตรงมาง่าย ๆ จะช่วยให้ผู้ค้นหาคำตอบใหม่ ๆ


1
การแก้ไขไฟล์ gradle นั้นใช้ไม่ได้สำหรับฉัน แต่มันก็เป็นเช่นนั้น ขอบคุณ!
Al0x

1
สิ่งนี้มีการเปลี่ยนแปลงอีกครั้ง: แท็บ "รสชาติ" ไม่มีอีกแล้ว ในขั้นตอนที่ 3 ในพื้นที่การตั้งค่าโครงการให้คลิกโมดูลจากนั้นใช้กล่องแบบเลื่อนลงระดับโครงการเพื่อเลือกเวอร์ชัน API สิ่งนี้ไม่เหมือนกับการตั้งค่าเวอร์ชันขั้นต่ำ API แต่จะเป็นเวอร์ชันที่จะใช้สร้างแอพ
hamx0r

นี่จะต้องเป็นคำตอบที่ได้รับการยอมรับ Android Studio เวอร์ชันใหม่ล่าสุดอย่างน้อย
Vivekanand

3
ฉันได้รับเพียง api 23 ในรายการแบบเลื่อนลง ... ฉันต้องการ API 10
รัชกาลที่ 85

1
นิดหน่อย? IDE ที่มีการเปลี่ยนแปลงนี้มีการเปลี่ยนแปลงอย่างมากระหว่างเวอร์ชันต่าง ๆ ซึ่งทำให้เกิดการหยุดชะงักในการเรียกใช้รหัสเก่า น่าสมเพชอย่างมากเมื่อเทียบกับมรดกของความเข้ากันได้แบบย้อนหลังที่ Microsoft เป็นตัวอย่าง
30478

10

ใน android studio คุณสามารถกด:

  1. Ctrl+ Shift+ +AltS
  2. หากคุณมีเวอร์ชันที่ใหม่กว่าandroid studioให้กดที่แอปก่อน จากนั้นดำเนินการตามขั้นตอนที่สามดังนี้
  3. หน้าต่างจะเปิดขึ้นพร้อมตัวเลือกมากมาย
  4. ไปที่Flavoursและนั่นคือทั้งหมดที่คุณต้องการ

คุณสามารถเปลี่ยนversionCodeแอพของคุณได้ที่นี่


6

ในbuild.gradleการเปลี่ยนminSdkVersion 13เป็นminSdkVersion 8สิ่งที่คุณต้องทำ ฉันแก้ไขปัญหาโดยทำสิ่งนี้เท่านั้น

defaultConfig {
    applicationId "com.example.sabrim.sbrtest"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}

6

ตามคำตอบนี้คุณไม่ต้องรวม minsdkversion ใน manifest.xml และระบบบิลด์จะใช้ค่าจากไฟล์ build.gradle และใส่ข้อมูลลงใน apk สุดท้าย

เนื่องจากระบบบิลด์ต้องการข้อมูลนี้อยู่ดีมันสมเหตุสมผลแล้ว คุณไม่จำเป็นต้องกำหนดค่านี้สองครั้ง

คุณต้องซิงค์โครงการหลังจากเปลี่ยนbuild.gradleไฟล์ แต่ Android Studio 0.5.2 แสดงแถบสถานะสีเหลืองที่ด้านบนของหน้าต่างตัวแก้ไข build.gradle เพื่อช่วยคุณ

โปรดสังเกตว่ามีอย่างน้อยสองbuild.gradleไฟล์: หนึ่งไฟล์และหนึ่งไฟล์สำหรับแอป / โมดูล สิ่งที่ต้องเปลี่ยนแปลงอยู่ในแอพ / โมดูลมันมีคุณสมบัติminSdkVersionในโครงการที่สร้างขึ้นใหม่แล้ว


5

หากคุณกำลังมีปัญหาการระบุเป้าหมาย SDK ไปยัง Google APIs แทนฐาน Platform SDK? เพียงแค่เปลี่ยนcompileSdkVersion 19ไปcompileSdkVersion "Google Inc.:Google APIs:19"


5

สำหรับ Android Studio v2.3.3 ล่าสุด (11 ตุลาคม 2017):
1. คลิกViewที่แถบเมนู
2. คลิกเปิดการตั้งค่าโมดูล
3. Flavorsแท็บเปิด
4. เลือกSdkเวอร์ชันขั้นต่ำที่คุณต้องการ
หน้าต่างโครงสร้างโครงการ IDE 6. คลิกตกลง


4

เช่นเดียวกับการอัปเดตรายการให้อัปเดตbuild.gradleไฟล์ของโมดูลด้วย (แสดงอยู่ในบานหน้าต่างโครงการด้านล่างรายการ - หากไม่มีminSdkVersionคีย์อยู่ในรายการคุณกำลังดูสิ่งที่ไม่ถูกต้องเนื่องจากมีคู่) การสร้างใหม่และสิ่งต่าง ๆ ควรจะดี ...


3

ใน Android studio เปิด build.gradle และแก้ไขส่วนต่อไปนี้:

defaultConfig {
    applicationId "com.demo.myanswer"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

ที่นี่คุณสามารถเปลี่ยน minSdkVersion จาก 12 เป็น 14


1

การเปลี่ยน minSdkVersion ในรายการไม่จำเป็น หากคุณเปลี่ยนในไฟล์ build gradle ดังที่แสดงด้านล่างคุณจะทำสิ่งที่คุณต้องทำให้สำเร็จ

defaultConfig {
   applicationId "com.demo.myanswer"
   minSdkVersion 14
   targetSdkVersion 23
   versionCode 1
   versionName "1.0"
}

0

สำหรับฉันสิ่งที่ทำงานคือ: (คลิกขวา) โครงการ -> เครื่องมือ android-> เครื่องหมายผ้าสำลีที่ชัดเจน แม้ว่าด้วยเหตุผลบางอย่าง Manifest จะเปลี่ยนกลับไปเป็นระดับ API ขั้นต่ำเก่า (ต่ำกว่า) แต่หลังจากฉันเปลี่ยนกลับไปเป็นระดับ API ใหม่ (สูงกว่า) ไม่มีข้อผิดพลาดสีแดงขีดเส้นใต้และโครงการใช้ระดับ API ขั้นต่ำใหม่

แก้ไข: ขออภัยฉันเห็นว่าคุณใช้ Android Studio ไม่ใช่ Eclipse แต่ฉันเดาว่ามี 'เครื่องหมายผ้าสำลีที่ชัดเจน' คล้ายกันในสตูดิโอที่ไหนสักแห่งและมันอาจแก้ปัญหาได้



0

ไฟล์> โครงสร้างโครงการ> โมดูลที่คุณสามารถเปลี่ยนได้จากที่นั่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.