หน้านี้จะติดตามปัญหาที่ทราบเกี่ยวกับ Android Studio และปลั๊กอิน Android Gradle หากพบปัญหาที่ไม่ได้ระบุไว้ที่นี่ โปรดรายงานข้อบกพร่อง
อัปเกรดเป็นเวอร์ชันตัวอย่าง: Android Studio และปลั๊กอิน Android Gradle แต่ละรุ่นมีเป้าหมายเพื่อปรับปรุงความเสถียรและประสิทธิภาพ รวมถึงเพิ่มฟีเจอร์ใหม่ๆ หากต้องการสัมผัสประโยชน์ของรุ่นที่กำลังจะเปิดตัวในตอนนี้ ให้ดาวน์โหลดและติดตั้ง Android Studio เวอร์ชันตัวอย่าง
ปัญหาที่ทราบเกี่ยวกับ Android Studio
ส่วนนี้จะอธิบายปัญหาที่ทราบซึ่งมีอยู่ใน Android Studio
Android Studio Panda 3 ใช้ร่วมกับปลั๊กอิน IntelliJ Develocity 1.2.0 ไม่ได้
เมื่อใช้ปลั๊กอิน Develocity IDE v1.2.0 ตั้งแต่ Android Studio Panda 3 Canary 1 เป็นต้นไป การดำเนินการเรียกใช้จะดำเนินการไม่สำเร็จพร้อมข้อผิดพลาดต่อไปนี้ (ปัญหา #492439205)
Found interface com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker$Request, but class was expected
นักพัฒนาซอฟต์แวร์ Develocity กำลังดำเนินการแก้ไขสำหรับเวอร์ชันใหม่
วิธีแก้ปัญหา: การปิดใช้ปลั๊กอิน Develocity IDE v1.2.0 จะช่วยแก้ปัญหานี้ได้จนกว่าความไม่เข้ากันนี้จะได้รับการแก้ไขในปลั๊กอินเวอร์ชันใหม่
Kotlin 2.0: ไม่สามารถแก้ไข Lambda ในเครื่องมือตรวจสอบเลย์เอาต์
เมื่อใช้ Kotlin 2.0 ระบบจะไม่สามารถแก้ไข Lambda และเครื่องมือตรวจสอบเลย์เอาต์จะไม่สามารถไปยังซอร์สโค้ดของ Lambda ได้ตามปกติ
วิธีแก้ปัญหา: เพิ่มตัวเลือกคอมไพเลอร์ด้านล่างเป็นวิธีแก้ปัญหาจนกว่าปัญหานี้จะได้รับการแก้ไข
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xlambdas=class")
}
}
การเรียกใช้การกำหนดค่าโดยไม่มี "ก่อนเปิดตัว" Gradle-aware Make จะทำให้เกิดข้อผิดพลาดในการทำให้ใช้งานได้
เกิดปัญหาใน Android Studio Ladybug Feature Drop Canary 9 ที่นำข้อมูลการกำหนดค่าการเรียกใช้ออกจากโปรเจ็กต์ที่เปิดด้วยเวอร์ชันดังกล่าว หากคุณเปิดโปรเจ็กต์ด้วยเวอร์ชันดังกล่าว ณ จุดใดจุดหนึ่ง และการเรียกใช้แอปส่งผลให้เกิดข้อผิดพลาด "กำลังโหลดอาร์ติแฟกต์ของบิลด์" ให้ตรวจสอบว่าการกำหนดค่าการเรียกใช้ที่ใช้งานอยู่มีขั้นตอน "Gradle-aware Make" ในส่วน "ก่อนเปิดตัว" หากต้องการยืนยัน ให้คลิกการกำหนดค่าการแก้ไขข้อบกพร่อง/เรียกใช้ > แก้ไขการกำหนดค่า คลิกการกำหนดค่าการเรียกใช้ที่ใช้งานอยู่ และยืนยันว่ามีขั้นตอน "Gradle-aware Make" ในส่วน "ก่อนเปิดตัว" ขออภัยที่ Android Studio ไม่สามารถแก้ไขปัญหานี้โดยอัตโนมัติเนื่องจากอาจมีการตั้งใจตั้งค่าการกำหนดค่าการเรียกใช้บางรายการโดยไม่มีขั้นตอน "Gradle-aware Make"
"ใช้การเปลี่ยนแปลงและรีสตาร์ทกิจกรรม" ไม่รีสตาร์ทกิจกรรมในอุปกรณ์หรือโปรแกรมจำลองระดับ API 35
เมื่อคุณติดตั้งใช้งานการเปลี่ยนแปลงโค้ดในอุปกรณ์ API 35 ด้วย "ใช้การเปลี่ยนแปลงและรีสตาร์ทกิจกรรม" แอปจะไม่รีสตาร์ทและคุณจะไม่เห็นผลของการเปลี่ยนแปลง หากเรียกใช้แอปพลิเคชันอีกครั้ง คุณจะเห็นผลของการเปลี่ยนแปลงโค้ด ทีมของเรากำลังตรวจสอบเรื่องนี้อย่างเต็มที่
หน้าต่าง Firebase Assistant แสดงข้อความแสดงข้อผิดพลาด
หากหน้าต่าง Firebase Assistant (เครื่องมือ > Firebase จากเมนูหลัก) แสดงข้อความแสดงข้อผิดพลาด ให้ลบล้างแคชและรีสตาร์ท Android Studio เพื่อแก้ไขข้อผิดพลาด
แยกมุมมองโดยใช้เครื่องมือตรวจสอบเลย์เอาต์ไม่ได้
ความสามารถในการแยกมุมมองโดยใช้เครื่องมือตรวจสอบเลย์เอาต์ที่ฝังไว้ไม่พร้อมใช้งานชั่วคราว เรากำลังแก้ไขปัญหานี้ในรุ่นต่อๆ ไป
โหนด Compose บางโหนดไม่สามารถตรวจสอบได้โดยใช้เครื่องมือตรวจสอบเลย์เอาต์
หากสังเกตเห็นว่าโหนด Compose บางโหนดตรวจสอบไม่ได้เมื่อใช้เครื่องมือตรวจสอบเลย์เอาต์ อาจเป็นเพราะข้อบกพร่องที่ได้รับการแก้ไขแล้วใน Compose เวอร์ชัน 1.5.0-alpha04 หากพบปัญหานี้ โปรดตรวจสอบว่าคุณอัปเกรดเป็น Compose เวอร์ชัน 1.5.0-alpha04 ขึ้นไป
ข้อผิดพลาดเมื่อแสดงตัวอย่างการเขียน
ตั้งแต่ Android Studio Chipmunk เป็นต้นไป หากคุณเห็น java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner หรือ java.lang.ClassNotFoundException: androidx.savedstate.R$id ในแผงปัญหา ให้ตรวจสอบว่าได้รวมทรัพยากร Dependency debugImplementation ไว้ใน androidx.lifecycle:lifecycle-viewmodel-savedstate ในโมดูลของคุณแล้ว
หากเห็น java.lang.NoSuchFieldError: view_tree_lifecycle_owner ในแผงปัญหา ให้ตรวจสอบว่าได้รวมทรัพยากร Dependency debugImplementation ไว้ใน androidx.lifecycle:lifecycle-runtime ในโมดูลแล้ว
หากเห็น java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer หรือ java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener ในแผงปัญหา ให้ตรวจสอบว่าได้รวมทรัพยากร Dependency debugImplementation ไว้ใน androidx.customview:customview-poolingcontainer ในโมดูลแล้ว
ข้อผิดพลาดเมื่อใช้รหัสผ่านที่แตกต่างกันสำหรับคีย์และคีย์สโตร์
ตั้งแต่เวอร์ชัน 4.2 เป็นต้นไป Android Studio จะทำงานบน JDK 11 การอัปเดตนี้ทำให้เกิดการเปลี่ยนแปลงลักษณะการทำงานพื้นฐานที่เกี่ยวข้องกับคีย์ Signing
เมื่อไปที่สร้าง > สร้าง Bundle/APK ที่รับรองแล้ว และพยายามกำหนดค่า App Signing สำหรับ App Bundle หรือ APK การป้อนรหัสผ่านที่แตกต่างกันสำหรับคีย์และคีย์สโตร์อาจทำให้เกิดข้อผิดพลาดต่อไปนี้
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
หากต้องการแก้ปัญหานี้ ให้ป้อนรหัสผ่านเดียวกันสำหรับทั้งคีย์และ Keystore
Android Studio ไม่เริ่มทำงานหลังจากติดตั้งเวอร์ชัน 4.2
Studio จะพยายามนำเข้า .vmoptions ก่อนหน้าและล้างข้อมูลเพื่อให้ทำงานร่วมกับ Garbage Collector ที่ JDK 11 ใช้ หากกระบวนการดังกล่าวไม่สำเร็จ IDE อาจไม่เริ่มทำงานสำหรับผู้ใช้บางรายที่ตั้งค่าตัวเลือก VM ที่กำหนดเองในไฟล์ .vmoptions
หากต้องการแก้ปัญหานี้ เราขอแนะนำให้ทำเครื่องหมายตัวเลือกที่กำหนดเองเป็นความคิดเห็นใน .vmoptions (โดยใช้อักขระ "#") ไฟล์ .vmoptions จะอยู่ในตำแหน่งต่อไปนี้
Windows
C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions
macOS
~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions
Linux
~/.config/Google/AndroidStudio4.2/studio64.vmoptions
หาก Studio ยังคงไม่เริ่มทำงานหลังจากลองใช้วิธีแก้ปัญหานี้แล้ว โปรดดูหัวข้อ Studio ไม่เริ่มทำงานหลังจากอัปเกรดด้านล่าง
แอปที่ใช้เครื่องมือตรวจสอบฐานข้อมูลขัดข้องในโปรแกรมจำลอง Android 11
แอปที่ใช้เครื่องมือตรวจสอบฐานข้อมูลอาจขัดข้องเมื่อทำงานในโปรแกรมจำลอง Android 11 โดยมีข้อผิดพลาดต่อไปนี้ปรากฏใน logcat
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
หากต้องการแก้ไขปัญหานี้ ให้อัปเกรดโปรแกรมจำลอง Android 11 เป็นเวอร์ชัน 9 ขึ้นไปโดยไปที่เครื่องมือ > เครื่องมือจัดการ SDK ในแท็บแพลตฟอร์ม SDK ให้เลือกช่องที่มีป้ายกำกับว่าแสดงรายละเอียดแพ็กเกจ แล้วเลือกการแก้ไขเวอร์ชัน 9 ขึ้นไปของโปรแกรมจำลอง Android 11

Studio ไม่เริ่มทำงานหลังจากการอัปเกรด
หาก Studio ไม่เริ่มทำงานหลังจากการอัปเกรด ปัญหาอาจเกิดจากการกำหนดค่า Android Studio ที่ไม่ถูกต้องซึ่งนำเข้าจาก Android Studio เวอร์ชันก่อนหน้าหรือปลั๊กอินที่เข้ากันไม่ได้ วิธีแก้ปัญหาชั่วคราวคือลองลบ (หรือเปลี่ยนชื่อเพื่อวัตถุประสงค์ในการสำรองข้อมูล) ไดเรกทอรีด้านล่าง ทั้งนี้ขึ้นอยู่กับเวอร์ชัน Android Studio และระบบปฏิบัติการ แล้วเริ่ม Android Studio อีกครั้ง การดำเนินการนี้จะรีเซ็ต Android Studio กลับสู่สถานะเริ่มต้น โดยนำปลั๊กอินของบุคคลที่สามทั้งหมดออก
สำหรับ Android Studio 4.1 ขึ้นไป ให้ทำดังนี้
Windows:
%APPDATA%\Google\AndroidStudio<version>
ตัวอย่าง:C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1macOS:
~/Library/Application Support/Google/AndroidStudio<version>
ตัวอย่าง:~/Library/Application Support/Google/AndroidStudio4.1Linux:
~/.config/Google/AndroidStudio<version>และ~/.local/share/Google/AndroidStudio<version>
ตัวอย่าง:~/.config/Google/AndroidStudio4.1และ~/.local/share/Google/AndroidStudio4.1
สำหรับ Android Studio 4.0 และเก่ากว่า
Windows:
%HOMEPATH%\.AndroidStudio<version>\config
ตัวอย่าง:C:\Users\your_user_name\.AndroidStudio3.6\configmacOS:
~/Library/Preferences/AndroidStudio<version>
ตัวอย่าง:~/Library/Preferences/AndroidStudio3.6Linux:
~/.AndroidStudio<version>/config
ตัวอย่าง:~/.AndroidStudio3.6/config
โปรดทราบว่าไดเรกทอรีการกำหนดค่าสำหรับ Android Studio รุ่น Canary และเบต้าคือ PreviewX.Y แทนที่จะเป็น X.Y สำหรับ <version> ตัวอย่างเช่น บิลด์ Android Studio 4.1 Canary จะใช้ AndroidStudioPreview4.1 แทนไดเรกทอรี AndroidStudio4.1 ที่ใช้สำหรับรุ่นที่อาจได้รับการเผยแพร่และรุ่นเสถียร
ปัญหาการคอมไพล์ในโปรเจ็กต์ Kotlin Multiplatform
ข้อผิดพลาดในการคอมไพล์อาจเกิดขึ้นในโค้ด Kotlin MPP เนื่องจากไม่มีสัญลักษณ์ การอัปเกรดปลั๊กอิน Kotlin เป็นเวอร์ชัน 1.4 ควรจะช่วยแก้ปัญหานี้ได้
การแมปแป้นขัดแย้งกันใน Linux
ใน Linux แป้นพิมพ์ลัดบางรายการอาจขัดแย้งกับแป้นพิมพ์ลัดเริ่มต้นของ Linux และแป้นพิมพ์ลัดของตัวจัดการหน้าต่างยอดนิยม เช่น KDE และ GNOME แป้นพิมพ์ลัดที่ขัดแย้งกันเหล่านี้อาจไม่ทำงานตามที่คาดไว้ใน Android Studio
ดูข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ (รวมถึงวิธีแก้ปัญหาที่เป็นไปได้) ได้ในเครื่องมือติดตามข้อบกพร่องของ IntelliJ
ข้อความ UI ขนาดเล็กใน ChromeOS
ใน ChromeOS ข้อความอาจมีขนาดเล็กกว่าในรุ่นก่อนหน้ามาก หากต้องการแก้ปัญหานี้ ให้ทำดังนี้
- เปิดหน้าต่างการตั้งค่าโดยคลิกไฟล์ > การตั้งค่า
- ไปที่ Appearance & Behavior > Appearance
- เลือกใช้แบบอักษรที่กำหนดเอง
- เพิ่มขนาดแบบอักษร
- ในหน้าต่างการตั้งค่า ให้ไปที่เอดิเตอร์ > แบบอักษร
- เพิ่มขนาดแบบอักษร
- คลิกตกลง
การแก้ไขโค้ด
ส่วนนี้จะอธิบายปัญหาที่ทราบแล้วซึ่งเกี่ยวข้องกับตัวแก้ไขโค้ด
การป้อนข้อมูลด้วยแป้นพิมพ์ค้าง - ปัญหา "iBus" ใน Linux
มีการโต้ตอบที่ทราบระหว่าง iBus daemon ใน Linux กับ Android Studio ในบางสถานการณ์ IDE จะหยุดตอบสนองต่อการป้อนข้อมูลด้วยแป้นพิมพ์หรือเริ่มป้อนอักขระแบบสุ่ม ข้อบกพร่องนี้เกิดจากการซิงค์ที่ขาดหายไประหว่าง iBus กับ XLib + AWT และได้มีการรายงานไปยัง JetBrains และ iBus แล้ว ปัจจุบันมีวิธีแก้ปัญหาเบื้องต้น 3 วิธีสำหรับปัญหานี้ ได้แก่
- วิธีแก้ปัญหาที่ 1: บังคับให้ iBus เข้าสู่โหมดซิงโครนัส ก่อนเริ่ม Android Studio ให้เรียกใช้คำสั่งต่อไปนี้ในบรรทัดคำสั่ง
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- วิธีแก้ปัญหา 2: ปิดใช้อินพุต iBus ใน Android Studio หากต้องการปิดใช้อินพุต iBus สำหรับ Android Studio เท่านั้น ให้เรียกใช้คำสั่งต่อไปนี้ในบรรทัดคำสั่ง
วิธีแก้ปัญหานี้จะปิดใช้วิธีการป้อนข้อมูลสำหรับ Android Studio เท่านั้น ไม่ใช่แอปพลิเคชันอื่นๆ ที่คุณอาจใช้งานอยู่ โปรดทราบว่าหากคุณรีสตาร์ท Daemon ขณะที่ Android Studio กำลังทำงานอยู่ (เช่น โดยการเรียกใช้$ XMODIFIERS= ./bin/studio
ibus-daemon -rd) คุณจะปิดใช้วิธีการป้อนข้อมูลสำหรับแอปพลิเคชันอื่นๆ ทั้งหมด และอาจทำให้ JVM ของ Android Studio ขัดข้องด้วยข้อผิดพลาดการแบ่งกลุ่ม - วิธีแก้ปัญหา 3: ตรวจสอบการเชื่อมโยงทางลัดอีกครั้งเพื่อให้แน่ใจว่าไม่ได้ตั้งค่าทางลัดสำหรับการป้อนข้อมูลถัดไปเป็น Control+Space เนื่องจากเป็นทางลัดสำหรับการเติมโค้ดใน Android Studio ด้วย Ubuntu 14.04 (Trusty) กำหนดให้ Super+Space เป็นแป้นพิมพ์ลัดเริ่มต้น แต่การตั้งค่าจากเวอร์ชันก่อนหน้าอาจยังคงอยู่ หากต้องการตรวจสอบการเชื่อมโยงแป้นพิมพ์ลัด ให้เรียกใช้
ibus-setupในบรรทัดคำสั่งเพื่อเปิดหน้าต่างค่ากำหนดของ IBus ในส่วนแป้นพิมพ์ลัด ให้เลือกวิธีการป้อนข้อมูลถัดไป หากตั้งค่าเป็น Control+Space ให้เปลี่ยนเป็น Super+Space หรือแป้นพิมพ์ลัดอื่นที่คุณเลือก
การกำหนดค่าโปรเจ็กต์
ส่วนนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับการกำหนดค่าโปรเจ็กต์และการซิงค์ Gradle
ซิงค์ Gradle ไม่สำเร็จ: ไปป์เสียหาย
ปัญหาคือ Daemon ของ Gradle พยายามใช้ IPv4 แทน IPv6
- วิธีแก้ปัญหาที่ 1: ใน Linux ให้ใส่ข้อมูลต่อไปนี้ใน
~/.profileหรือ~/.bash_profileexport _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true" - วิธีแก้ปัญหาที่ 2: ในไฟล์ vmoptions ของ Android Studio ให้เปลี่ยนบรรทัด
-Djava.net.preferIPv4Addresses=trueเป็น-Djava.net.preferIPv6Addresses=trueดูข้อมูลเพิ่มเติมได้ที่คู่มือผู้ใช้ IPv6 สำหรับเครือข่าย
ข้อผิดพลาด "peer not authenticated" จากการซิงค์ Gradle หรือเครื่องมือจัดการ SDK
สาเหตุของปัญหาเหล่านี้คือไม่มีใบรับรองใน $JAVA_HOME/jre/lib/certificates/cacerts หากต้องการแก้ไขข้อผิดพลาดเหล่านี้ ให้ดำเนินการดังนี้
- หากคุณอยู่หลังพร็อกซี ให้ลองเชื่อมต่อโดยตรง หากการเชื่อมต่อโดยตรงใช้งานได้ คุณอาจต้องใช้
keytoolเพื่อเพิ่มใบรับรองของพร็อกซีเซิร์ฟเวอร์ลงในไฟล์ cacerts จึงจะเชื่อมต่อผ่านพร็อกซีได้ - ติดตั้ง JDK ที่รองรับและไม่มีการแก้ไขอีกครั้ง มีปัญหาที่ทราบซึ่งส่งผลกระทบต่อผู้ใช้ Ubuntu ซึ่งส่งผลให้
/etc/ssl/certs/java/cacertsว่างเปล่า หากต้องการแก้ปัญหานี้ ให้เรียกใช้คำสั่งต่อไปนี้ในบรรทัดคำสั่งsudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
กำลังทำให้ใช้งานได้
ส่วนนี้จะอธิบายปัญหาที่ทราบแล้วเกี่ยวกับการติดตั้งใช้งานแอปในอุปกรณ์ที่เชื่อมต่อ
[Mac OS เท่านั้น] ระบบจะไม่ใช้การอัปเดตแบบเพิ่มทีละส่วนเนื่องจากปัญหาเกี่ยวกับการตรวจสอบไฟล์ Gradle ในโปรเจ็กต์ที่บันทึกไว้ใน /System/Volumes/Data
ปัญหา Gradle 18149 ส่งผลต่อปลั๊กอิน Android Gradle เวอร์ชัน 7.0 ขึ้นไป เนื่องจากปลั๊กอินเหล่านี้ต้องใช้ Gradle เวอร์ชัน 7.0 ขึ้นไป ตั้งแต่ Gradle 7.0 เป็นต้นไป ระบบจะเปิดใช้การดูไฟล์โดยค่าเริ่มต้น
หากคุณทำงานใน Mac OS และบันทึกโปรเจ็กต์ไว้ใน /System/Volumes/Data การตรวจสอบไฟล์ Gradle จะติดตามการเปลี่ยนแปลงไฟล์อย่างไม่ถูกต้อง
ซึ่งจะทำให้ระบบบิลด์ไม่เห็นการเปลี่ยนแปลงไฟล์ใดๆ และจะไม่อัปเดต APK จากนั้นโค้ดการติดตั้งใช้งานแบบเพิ่มทีละส่วนจะไม่ดำเนินการใดๆ เนื่องจากสถานะ APK ในเครื่องเหมือนกับในอุปกรณ์
หากต้องการแก้ปัญหานี้ คุณควรย้ายไดเรกทอรีของโปรเจ็กต์ไปยังไดเรกทอรีผู้ใช้ ซึ่งอยู่ภายใต้ /Users/username จากนั้นระบบบิลด์จะได้รับการแจ้งเตือนอย่างถูกต้องเกี่ยวกับการเปลี่ยนแปลงไฟล์โดยการตรวจสอบไฟล์ Gradle และจะใช้การเปลี่ยนแปลงที่เพิ่มขึ้นได้สำเร็จ
โปรแกรมจำลองของ Android HAXM บน macOS High Sierra
โปรแกรมจำลองของ Android ใน macOS High Sierra (10.13) ต้องใช้ HAXM 6.2.1 ขึ้นไปเพื่อให้เข้ากันได้และมีความเสถียรมากที่สุดกับ macOS อย่างไรก็ตาม macOS 10.13 มีกระบวนการที่เกี่ยวข้องมากกว่าในการติดตั้งส่วนขยายเคอร์เนล เช่น HAXM คุณต้องอนุญาตให้ติดตั้งส่วนขยายเคอร์เนลด้วยตนเองดังนี้
- ก่อนอื่น ให้ลองติดตั้ง HAXM เวอร์ชันล่าสุดจากเครื่องมือจัดการ SDK
- ใน MacOS ให้ไปที่ ค่ากำหนดของระบบ > Security and Privacy
หากเห็นการแจ้งเตือนว่าระบบบล็อกไม่ให้โหลดซอฟต์แวร์ระบบจากนักพัฒนาแอป "Intel Corporation Apps" ให้คลิกอนุญาต

ดูข้อมูลเพิ่มเติมและวิธีแก้ปัญหาได้ที่หน้าเว็บของ Apple และปัญหา 62395878
ใช้การเปลี่ยนแปลง
ส่วนนี้จะอธิบายปัญหาที่ทราบซึ่งเกี่ยวข้องกับใช้การเปลี่ยนแปลง
ไม่ได้ใช้ชื่อแอปใหม่
หากคุณเปลี่ยนชื่อแอปแล้วพยายามใช้การเปลี่ยนแปลงนั้น ชื่อที่อัปเดตอาจไม่แสดง หากต้องการแก้ปัญหานี้ ให้คลิกเรียกใช้
เพื่อทำให้แอปใช้งานได้อีกครั้งและดูการเปลี่ยนแปลง
ปัญหาใน Android Runtime แสดงข้อผิดพลาด
หากคุณใช้อุปกรณ์ที่ใช้ Android 8.0 หรือ 8.1 คุณอาจพบข้อความ "VERIFICATION_ERROR" เมื่อพยายามใช้การเปลี่ยนแปลงบางประเภท (โดยเฉพาะหากคุณใช้ Kotlin) ข้อความนี้เกิดจากปัญหาเกี่ยวกับ Android Runtime ซึ่งได้รับการแก้ไขแล้วใน Android 9.0 ขึ้นไป แม้ว่าปัญหาจะทำให้ใช้การเปลี่ยนแปลงไม่สำเร็จ แต่คุณยังคงเรียกใช้
แอปอีกครั้งเพื่อดูการเปลี่ยนแปลงได้ อย่างไรก็ตาม เราขอแนะนำให้อัปเกรดอุปกรณ์เป็น Android 9.0 ขึ้นไป
การแก้ไขข้อบกพร่องและการทดสอบ
ส่วนนี้จะอธิบายปัญหาที่ทราบซึ่งเกี่ยวข้องกับการแก้ไขข้อบกพร่องและการทดสอบแอป
การทดสอบ JUnit ไม่มีทรัพยากรใน classpath เมื่อเรียกใช้จาก Android Studio
หากคุณมีโฟลเดอร์ทรัพยากรที่เฉพาะเจาะจงในโมดูล Java ระบบจะไม่พบทรัพยากรเหล่านั้นเมื่อทำการทดสอบจาก IDE การเรียกใช้การทดสอบโดยใช้ Gradle จากบรรทัดคำสั่งจะทำงานได้ การเรียกใช้งาน Gradle check
จาก IDE ก็ใช้ได้เช่นกัน ดูรายละเอียดเพิ่มเติมได้ที่ปัญหา 64887
ปัญหานี้เกิดขึ้นเนื่องจากตั้งแต่ IntelliJ 13 เป็นต้นมา คุณต้องมีโฟลเดอร์เดียวเป็น classpath เครื่องมือสร้างของ IntelliJ จะคัดลอกทรัพยากรทั้งหมดลงในโฟลเดอร์บิลด์นั้น แต่ Gradle จะไม่คัดลอกทรัพยากร
- วิธีแก้ปัญหาที่ 1: เรียกใช้งาน Gradle
checkจาก IDE แทนการเรียกใช้ Unit Test - วิธีแก้ปัญหาที่ 2: อัปเดตสคริปต์บิลด์เพื่อคัดลอกทรัพยากรลงในโฟลเดอร์บิลด์ด้วยตนเอง ดูข้อมูลเพิ่มเติมได้ที่ความคิดเห็นที่ 13
การเรียกใช้การทดสอบ JUnit อาจคอมไพล์โค้ด 2 ครั้ง
เมื่อสร้างโปรเจ็กต์ใหม่ ระบบอาจสร้างการกำหนดค่า JUnit ของเทมเพลตด้วยขั้นตอน "ก่อนเปิดตัว" 2 ขั้นตอน ได้แก่ Make และ Gradle-aware Make จากนั้นระบบจะเผยแพร่การกำหนดค่านี้ไปยังการกำหนดค่าการเรียกใช้ JUnit ทั้งหมดที่สร้างขึ้น
- หากต้องการแก้ไขปัญหาสำหรับโปรเจ็กต์ปัจจุบัน ให้คลิก Run > Edit Configurations แล้วเปลี่ยนการกำหนดค่า JUnit เริ่มต้นให้รวมเฉพาะขั้นตอน Make ที่รับรู้ Gradle
- หากต้องการแก้ไขปัญหาสำหรับโปรเจ็กต์ในอนาคตทั้งหมด ให้คลิกไฟล์ > ปิดโปรเจ็กต์ คุณควรจะเห็นหน้าจอต้อนรับ จากนั้นคลิกกำหนดค่า > ค่าเริ่มต้นของโปรเจ็กต์ > เรียกใช้การกำหนดค่า แล้วเปลี่ยนการกำหนดค่า JUnit ให้รวมเฉพาะขั้นตอน Make ที่รองรับ Gradle
การกำหนดค่าการทดสอบบางรายการใช้ไม่ได้
การกำหนดค่าการเรียกใช้บางรายการที่ใช้ได้เมื่อคลิกขวาที่เมธอดการทดสอบอาจไม่ถูกต้อง กล่าวโดยละเอียดคือ การกำหนดค่าต่อไปนี้ไม่ถูกต้อง
- การกำหนดค่าการเรียกใช้ Gradle (ซึ่งมีโลโก้ Gradle เป็นไอคอน) จะไม่ทำงาน
- การกำหนดค่าการเรียกใช้ JUnit (ซึ่งมีไอคอนที่ไม่มี Android สีเขียว) จะไม่มีผลกับการทดสอบการวัดคุม ซึ่งไม่สามารถเรียกใช้ใน JVM ในเครื่องได้
การเพิ่มเบรกพอยท์ Java ขณะแก้ไขข้อบกพร่องโค้ดแบบเนทีฟ
ขณะที่แอปหยุดชั่วคราวที่เบรกพอยต์ในโค้ดแบบเนทีฟ โปรแกรมแก้ไขข้อบกพร่องอัตโนมัติและแบบคู่อาจไม่รู้จักเบรกพอยต์ Java ใหม่ที่คุณตั้งค่าไว้ในทันที เพื่อหลีกเลี่ยงปัญหานี้ ให้เพิ่มเบรกพอยต์ Java ก่อนเริ่มเซสชันการแก้ไขข้อบกพร่องหรือขณะที่แอปหยุดชั่วคราวที่เบรกพอยต์ Java ดูข้อมูลเพิ่มเติมได้ที่ปัญหา 229949
ออกจากโปรแกรมแก้ไขข้อบกพร่องของระบบ
ขณะใช้โปรแกรมแก้ไขข้อบกพร่องอัตโนมัติหรือแบบคู่เพื่อแก้ไขข้อบกพร่องของ Java และโค้ดแบบเนทีฟ หากคุณเข้าสู่ฟังก์ชันแบบเนทีฟจากโค้ด Java (เช่น โปรแกรมแก้ไขข้อบกพร่องหยุดการดำเนินการชั่วคราวที่บรรทัดในโค้ด Java ที่เรียกใช้ฟังก์ชันแบบเนทีฟ และคุณคลิกเข้าสู่
) และต้องการกลับไปที่โค้ด Java ให้คลิกกลับมาทำงานต่อ
(แทนออกจาก
หรือข้าม
) กระบวนการของแอปจะยังคงหยุดชั่วคราว ดังนั้นให้คลิกกลับมาทำงานต่อ
ในแท็บ your-module-java เพื่อกลับมาทำงานต่อ ดูข้อมูลเพิ่มเติมได้ที่ปัญหา 224385
โปรแกรมแก้ไขข้อบกพร่องแบบเนทีฟค้างขณะโหลดไลบรารี
ขณะใช้โปรแกรมแก้ไขข้อบกพร่องแบบเนทีฟเป็นครั้งแรกหลังจากอัปเกรดเป็น Android Studio 4.2 ขึ้นไป โปรแกรมแก้ไขข้อบกพร่องแบบเนทีฟอาจหยุดตอบสนองขณะโหลดไลบรารีจากอุปกรณ์ Android ปัญหานี้เป็นปัญหาที่ยืดเยื้อซึ่งจะยังคงเกิดขึ้นต่อไปแม้ว่าคุณจะหยุดและรีสตาร์ทโปรแกรมแก้ไขข้อบกพร่องแล้วก็ตาม หากต้องการแก้ไขปัญหานี้ ให้ลบแคช LLDB ที่ $USER/.lldb/module-cache/
โปรแกรมแก้ไขข้อบกพร่องของระบบขัดข้องพร้อมข้อความ "กระบวนการแก้ไขข้อบกพร่องเสร็จสิ้นโดยมีรหัสออก 127"
ข้อผิดพลาดนี้เกิดขึ้นบนแพลตฟอร์มที่ใช้ Linux เมื่อเริ่มโปรแกรมแก้ไขข้อบกพร่องแบบเนทีฟ ซึ่งบ่งชี้ว่าไม่ได้ติดตั้งไลบรารีรายการใดรายการหนึ่งที่โปรแกรมแก้ไขข้อบกพร่องแบบเนทีฟต้องการในระบบภายในเครื่อง ชื่อของไลบรารีที่หายไปอาจพิมพ์อยู่ในไฟล์ idea.log แล้ว หากไม่ คุณสามารถใช้เทอร์มินัลเพื่อไปยังไดเรกทอรีการติดตั้ง Android Studio และเรียกใช้บรรทัดคำสั่ง bin/lldb/bin/LLDBFrontend --version เพื่อดูว่าไลบรารีใดขาดหายไป โดยปกติแล้ว ไลบรารีที่หายไปคือ ncurses5 เนื่องจาก Linux บางรุ่นที่เพิ่งเปิดตัวได้อัปเกรดเป็น ncurses6 แล้ว
เครื่องมือสร้างโปรไฟล์
ส่วนนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับเครื่องมือวิเคราะห์ประสิทธิภาพ
เครื่องมือสร้างโปรไฟล์หน่วยความจำแบบเนทีฟ: การสร้างโปรไฟล์ไม่พร้อมใช้งานระหว่างการเริ่มต้นแอป
เครื่องมือสร้างโปรไฟล์หน่วยความจำแบบเนทีฟไม่พร้อมใช้งานในระหว่างการเริ่มต้นแอปในขณะนี้ ตัวเลือกนี้จะพร้อมใช้งานในรุ่นถัดไป
วิธีแก้ปัญหาชั่วคราวคือคุณสามารถใช้เครื่องมือสร้างโปรไฟล์บรรทัดคำสั่งแบบสแตนด์อโลนของ Perfetto เพื่อบันทึกโปรไฟล์การเริ่มต้นระบบ
ข้อผิดพลาดการหมดเวลาในเครื่องมือสร้างโปรไฟล์ CPU
คุณอาจพบข้อผิดพลาด "หยุดการบันทึกไม่สำเร็จ" ในเครื่องมือสร้างโปรไฟล์ CPU ของ Android Studio เมื่อเลือกการกำหนดค่าตัวอย่างเมธอด Java หรือติดตามเมธอด Java ข้อผิดพลาดเหล่านี้มักเป็นข้อผิดพลาดที่หมดเวลา โดยเฉพาะอย่างยิ่งหากคุณเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ในไฟล์ idea.log
Wait for ART trace file timed out
ข้อผิดพลาดเกี่ยวกับระยะหมดเวลามักจะส่งผลต่อเมธอดที่ติดตามมากกว่าเมธอดที่สุ่มตัวอย่าง และการบันทึกที่นานกว่าจะส่งผลต่อเมธอดที่สั้นกว่า วิธีแก้ปัญหาชั่วคราวคือลองบันทึกเสียงให้สั้นลงเพื่อดูว่าข้อผิดพลาดหายไปหรือไม่
หากพบปัญหาการหมดเวลากับเครื่องมือวิเคราะห์ โปรดรายงานข้อบกพร่องซึ่งรวมถึงยี่ห้อ/รุ่นของอุปกรณ์และรายการที่เกี่ยวข้องจาก idea.log และ logcat
ข้อยกเว้น ADB เมื่อแก้ไขข้อบกพร่องหรือทำโปรไฟล์
เมื่อใช้ Platform Tools 29.0.3 การแก้ไขข้อบกพร่องแบบเนทีฟและเครื่องมือวิเคราะห์ของ Android Studio อาจทำงานไม่ถูกต้อง และคุณอาจเห็นข้อความ "AdbCommandRejectedException" หรือ "Failed to connect port" ในไฟล์ idea.log เมื่อเลือกความช่วยเหลือ > แสดงบันทึก การอัปเกรด Platform Tools เป็นเวอร์ชัน 29.0.4 ขึ้นไปจะช่วยแก้ปัญหาทั้ง 2 อย่างนี้ได้
หากต้องการอัปเกรดเครื่องมือแพลตฟอร์ม ให้ทำดังนี้
- เปิดเครื่องมือจัดการ SDK จาก Android Studio โดยคลิกเครื่องมือ > เครื่องมือจัดการ SDK หรือคลิกเครื่องมือจัดการ SDK
ในแถบเครื่องมือ
- คลิกช่องทำเครื่องหมายข้าง Android SDK Platform-Tools เพื่อให้แสดงเครื่องหมายถูก ไอคอนดาวน์โหลด
ควรปรากฏในคอลัมน์ด้านซ้าย
- คลิกใช้หรือตกลง
ปลั๊กอินทำให้หน้าต่างเอาต์พุตบิลด์ไม่ทำงาน
การใช้ปลั๊กอิน CMake simple highlighter จะป้องกันไม่ให้เนื้อหาปรากฏในหน้าต่างเอาต์พุตของบิลด์ บิลด์จะทำงานและแท็บเอาต์พุตบิลด์จะปรากฏขึ้น แต่ไม่มีเอาต์พุตที่พิมพ์ออกมา (ปัญหา #204791544)
ลำดับการติดตั้งทำให้เปิดใช้งานไม่ได้
การติดตั้ง Android Studio เวอร์ชันใหม่ก่อนเวอร์ชันเก่าอาจทำให้เวอร์ชันเก่าเปิดไม่ได้ ตัวอย่างเช่น หากคุณติดตั้ง Android Studio เวอร์ชัน Canary ก่อน แล้วพยายามติดตั้งและเปิดเวอร์ชันเสถียร เวอร์ชันเสถียรอาจไม่เปิดขึ้น ในกรณีเช่นนี้ คุณต้องล้างแคชเพื่อให้เวอร์ชันที่เสถียร (เก่ากว่า) เปิดขึ้นมา ใน macOS หากต้องการล้างแคช ให้ลบไดเรกทอรี Library/ApplicationSupport/Google/AndroidStudioversion_number ใน Windows ให้ใช้การล้างข้อมูลดิสก์เพื่อล้างแคช
Espresso Test Recorder ไม่ทำงานร่วมกับ Compose
Espresso Test Recorder ใช้กับโปรเจ็กต์ที่มี Compose ไม่ได้ หากต้องการสร้างการทดสอบ UI สำหรับโปรเจ็กต์ที่มี Compose โปรดดูการทดสอบเลย์เอาต์ Compose
แป้นพิมพ์ลัด Logcat ขัดแย้งกับรูปแบบแป้นพิมพ์ที่ไม่ใช่ภาษาอังกฤษ
หากคุณใช้รูปแบบแป้นพิมพ์ที่ไม่ใช่ภาษาอังกฤษ แป้นพิมพ์ลัด Logcat เริ่มต้นอาจขัดแย้งกับรูปแบบแป้นพิมพ์และทำให้คุณพิมพ์อักขระบางตัวไม่ได้เมื่อแก้ไขข้อความใน Android Studio หากต้องการแก้ปัญหานี้ ให้ลบหรือแมปคีย์แมป Logcat ที่ขัดแย้งกันอีกครั้ง หากต้องการแก้ไขคีย์แมป Logcat ใน Android Studio ให้ไปที่ Android Studio > การตั้งค่า > คีย์แมป แล้วค้นหา Logcat ในรายการคีย์แมป ดูข้อมูลเพิ่มเติมได้ที่ปัญหา #263475910
ปัญหานี้จะได้รับการแก้ไขโดยการนำแป้นพิมพ์ลัด Logcat ออกใน Android Studio Electric Eel Patch 1
ปัญหาที่ทราบเกี่ยวกับปลั๊กอิน Android Gradle
ส่วนนี้จะอธิบายปัญหาที่ทราบซึ่งมีอยู่ในปลั๊กอิน Android Gradle เวอร์ชันเสถียรล่าสุด
ระบบไม่ได้ตรวจสอบ Lint ของทรัพยากร Dependency ของไลบรารีฟีเจอร์แบบไดนามิกทั้งหมด
เมื่อเรียกใช้ Lint ด้วย checkDependencies = true จากโมดูลแอป ระบบจะไม่ตรวจสอบทรัพยากร Dependency ของไลบรารีฟีเจอร์แบบไดนามิก เว้นแต่ว่าจะเป็นทรัพยากร Dependency ของแอปด้วย (ปัญหา #191977888)
วิธีแก้ปัญหาชั่วคราวคือคุณสามารถเรียกใช้งาน Lint ในไลบรารีเหล่านั้นได้
การลงนามไฟล์ที่มีชื่อซึ่งมีอักขระขึ้นบรรทัดใหม่
การรับรอง JAR (รูปแบบ v1) ไม่รองรับชื่อไฟล์ที่มีอักขระขึ้นบรรทัดใหม่ (ปัญหา #63885809)
การแก้ไขเอาต์พุตของตัวแปรในเวลาบิลด์อาจไม่ทำงาน
การใช้ Variant API เพื่อจัดการเอาต์พุตของตัวแปรจะใช้งานไม่ได้กับปลั๊กอินใหม่ แต่ยังคงใช้ได้กับงานง่ายๆ เช่น การเปลี่ยนชื่อ APK ระหว่างเวลาบิลด์ ดังที่แสดงด้านล่าง
// If you use each() to iterate through the variant objects, // you need to start using all(). That's because each() iterates // through only the objects that already exist during configuration time— // but those object don't exist at configuration time with the new model. // However, all() adapts to the new model by picking up object as they are // added during execution. android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } }
อย่างไรก็ตาม งานที่ซับซ้อนมากขึ้นซึ่งเกี่ยวข้องกับการเข้าถึงออบเจ็กต์ outputFile จะใช้งานไม่ได้อีกต่อไป เนื่องจากระบบจะไม่สร้างงานเฉพาะตัวแปรอีกต่อไปในระหว่างขั้นตอนการกำหนดค่า ซึ่งส่งผลให้ปลั๊กอินไม่ทราบเอาต์พุตทั้งหมดล่วงหน้า แต่ก็หมายความว่าใช้เวลากำหนดค่าน้อยลงด้วย
manifestOutputFile ไม่พร้อมใช้งานอีกต่อไป
เมธอด processManifest.manifestOutputFile() ไม่พร้อมใช้งานอีกต่อไป และคุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้เมธอดดังกล่าว
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
แทนที่จะเรียกใช้ manifestOutputFile() เพื่อรับไฟล์ Manifest สำหรับแต่ละตัวแปร คุณสามารถเรียกใช้ processManifest.manifestOutputDirectory() เพื่อแสดงผลเส้นทางของไดเรกทอรีที่มีไฟล์ Manifest ที่สร้างขึ้นทั้งหมด จากนั้นคุณจะค้นหาไฟล์ Manifest และใช้ตรรกะกับไฟล์ดังกล่าวได้ ตัวอย่างด้านล่างจะเปลี่ยนรหัสเวอร์ชันในไฟล์ Manifest แบบไดนามิก
android.applicationVariants.all { variant -> variant.outputs.all { output -> output.processManifest.doLast { // Stores the path to the maifest. String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml" // Stores the contents of the manifest. def manifestContent = file(manifestPath).getText() // Changes the version code in the stored text. manifestContent = manifestContent.replace('android:versionCode="1"', String.format('android:versionCode="%s"', generatedCode)) // Overwrites the manifest with the new text. file(manifestPath).write(manifestContent) } } }
ปัญหาเกี่ยวกับการรองรับ AIDL ของ AGP 7.3.0 และ Kotlin 1.7.x
การใช้ AGP 7.3.0 กับ KAPT ใน Kotlin 1.7.x จะทำให้ระบบนำชุดซอร์ส AIDL สำหรับตัวแปรบิลด์ที่เฉพาะเจาะจงออก คุณยังคงใช้ชุดซอร์ส AIDL อื่นๆ ได้ ซึ่งรวมถึงชุดซอร์สของ main/, ประเภทบิลด์, เวอร์ชันผลิตภัณฑ์ และเวอร์ชันผลิตภัณฑ์ที่รวมกัน หากต้องการใช้ชุดซอร์ส AIDL เฉพาะตัวแปร ให้ใช้ Kotlin 1.6.21 ต่อไป
แก้ไขปัญหาที่ทราบแล้ว
ส่วนนี้จะอธิบายปัญหาที่ทราบซึ่งได้รับการแก้ไขแล้วในรุ่นล่าสุด หากพบปัญหาเหล่านี้ คุณควรอัปเดต Android Studio เป็นเวอร์ชันตัวอย่างหรือเวอร์ชันเสถียรล่าสุด
แก้ไขแล้วใน Android Studio Rabbit 1 Canary 5
- การเรียกใช้การซิงค์ Gradle แบบขนาน: ใน Android Studio Quail 1 พร็อพเพอร์ตี้
org.gradle.parallel=trueในgradle.propertiesจะไม่เปิดใช้การดึงข้อมูลโมเดลแบบขนานระหว่างการซิงค์ Gradle อีกต่อไปเมื่อใช้ Gradle เวอร์ชัน 9.4 ขึ้นไป ซึ่งส่งผลให้เวลาในการซิงค์สำหรับโปรเจ็กต์ขนาดใหญ่เพิ่มขึ้น พร็อพเพอร์ตี้org.gradle.tooling.parallelที่เพิ่งเปิดตัวจะเปิดการดึงข้อมูลโมเดลแบบขนาน แต่จะไม่เปิดสำหรับเครื่องมือสร้างโมเดลของ IDEA เราได้นำข้อจำกัดนี้ออกแล้ว
แก้ไขแล้วใน Android Studio 2021.1.1
- ไม่มีเอาต์พุต Lint: ไม่มีเอาต์พุตข้อความ Lint ที่พิมพ์ไปยัง
stdoutเมื่อ งาน Lint เป็นUP-TO-DATE(ปัญหา #191897708) แก้ไขแล้วใน AGP 7.1.0-alpha05 - ปัญหาเกี่ยวกับการทำ Unit Test โปรเจ็กต์แอปที่ใช้ปลั๊กอิน Hilt: คลาสพาธของ Unit Test มีคลาสแอปที่ไม่ได้ใช้เครื่องมือวัด ซึ่งหมายความว่า Hilt ไม่ได้ใช้เครื่องมือวัดคลาสแอปเพื่อจัดการการแทรกทรัพยากร Dependency เมื่อเรียกใช้ Unit Test (ปัญหา #213534628) แก้ไขใน AGP 7.1.1 แล้ว
แก้ไขแล้วใน Android Studio 2020.3.1
- ข้อยกเว้น Lint ในโปรเจ็กต์ Kotlin: โปรเจ็กต์ Kotlin ที่ตั้งค่า
checkDependencies = trueอาจพบข้อยกเว้นหรือข้อผิดพลาดเกี่ยวกับ Null Pointer (ปัญหา #158777858)
แก้ไขแล้วใน Android Studio 4.2
- IDE ค้างใน macOS Big Sur: Android Studio 4.1 อาจค้างเมื่อคุณเปิดกล่องโต้ตอบ
แก้ไขแล้วใน Android Studio 4.1
- รีสตาร์ทเพื่อใช้การตั้งค่าหน่วยความจำจาก IDE เวอร์ชันก่อนหน้า: หลังจากอัปเดต Android Studio คุณต้องรีสตาร์ท Android Studio เพื่อใช้การตั้งค่าหน่วยความจำที่ย้ายข้อมูลมาจาก IDE เวอร์ชันก่อนหน้า
- ระบบจะไม่สร้างคลาสไฟล์ Manifest ที่มีสตริงสิทธิ์ที่กำหนดเองโดยค่าเริ่มต้นอีกต่อไป: หากต้องการสร้างคลาส ให้ตั้งค่า
android.generateManifestClass = true
แก้ไขแล้วใน Android Studio 3.6
ข้อผิดพลาดในการติดตั้ง APK บน LineageOS: การติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ LineageOS หรือ CyanogenMod บางเวอร์ชันอาจไม่สำเร็จและแสดงข้อยกเว้น
INSTALL_PARSE_FAILED_NOT_APKใน Android Studio 3.6 เบต้า 1 ขึ้นไป IDE จะจัดการข้อยกเว้นนี้โดยทำการติดตั้งแอปแบบเต็มเมื่อคุณติดตั้งใช้งานแอปในอุปกรณ์ LineageOS หรือ CyanogenMod ซึ่งอาจส่งผลให้ใช้เวลาติดตั้งใช้งานนานขึ้น
แก้ไขแล้วใน Android Studio 3.5.2
- รูปแบบโค้ด XML เสีย: เมื่อแก้ไขโค้ด XML IDE จะใช้รูปแบบโค้ดที่ไม่ถูกต้องเมื่อคุณเลือกโค้ด > จัดรูปแบบโค้ดใหม่จากแถบเมนู
แก้ไขแล้วใน Android Studio 3.3.1
ข้อผิดพลาดหน่วยความจำไม่เพียงพอเมื่อสแกนโปรเจ็กต์ที่ใช้ C++: เมื่อ Gradle สแกนโปรเจ็กต์ที่มีโค้ด C++ ในตำแหน่งมากกว่า 1 แห่งในไดรฟ์เดียวกัน การสแกนจะรวมไดเรกทอรีทั้งหมดที่อยู่ใต้ไดเรกทอรีทั่วไปแรก การสแกนไดเรกทอรีและไฟล์จำนวนมากอาจทำให้เกิดข้อผิดพลาดหน่วยความจำไม่เพียงพอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ได้ที่ข้อบกพร่องที่เกี่ยวข้องกับปัญหา