Android Studio 3.2 (กันยายน 2018)
Android Studio 3.2 เป็นรุ่นหลักที่มีฟีเจอร์ใหม่ๆ และการปรับปรุงมากมาย
3.2.1 (ตุลาคม 2018)
การอัปเดต Android Studio 3.2 นี้มีการเปลี่ยนแปลงและการแก้ไขต่อไปนี้
- ตอนนี้ Kotlin เวอร์ชันที่รวมไว้คือ 1.2.71
- ตอนนี้เวอร์ชันเครื่องมือบิลด์เริ่มต้นคือ 28.0.3
- ในไลบรารีการนำทาง เราได้เปลี่ยนชื่อประเภทอาร์กิวเมนต์จาก
typeเป็นargType - เราได้แก้ไขข้อบกพร่องต่อไปนี้แล้ว
- เมื่อใช้ไลบรารีการเชื่อมโยงข้อมูล ชื่อตัวแปรที่มีขีดล่าง ทำให้เกิดข้อผิดพลาดในการคอมไพล์
- CMake ทำให้ IntelliSense และฟีเจอร์อื่นๆ ของ CLion ทำงานไม่สำเร็จ
- การเพิ่ม
SliceProviderทำให้เกิดข้อผิดพลาดในการคอมไพล์ ในโปรเจ็กต์ที่ไม่ได้ใช้ไลบรารีandroidx.* - ไม่ได้เรียกใช้การทดสอบหน่วย Kotlin บางรายการ
- ปัญหาเกี่ยวกับการเชื่อมโยงข้อมูลทำให้เกิด
PsiInvalidElementAccessException <merge>บางครั้งทำให้เครื่องมือสร้างเลย์เอาต์ขัดข้อง
ปัญหาที่ทราบในเวอร์ชัน 3.2.0
หมายเหตุ: ปัญหาเหล่านี้ได้รับการแก้ไขแล้วใน Android Studio 3.2.1
เราไม่แนะนำอย่างยิ่งให้ใช้ Kotlin เวอร์ชัน 1.2.70
Kotlin เวอร์ชัน 1.2.61 แก้ไขข้อบกพร่องที่อาจทำให้ Android Studio ค้าง แต่ Kotlin 1.2.70 ไม่มีการแก้ไขนี้
อย่างไรก็ตาม Kotlin เวอร์ชัน 1.2.71 ขึ้นไปมีการแก้ไขนี้
-
แม้ว่าโดยปกติแล้วคุณไม่จำเป็นต้องระบุเวอร์ชันเครื่องมือสร้าง แต่เมื่อใช้ปลั๊กอิน Android Gradle 3.2.0 กับ
renderscriptSupportModeEnabledที่ตั้งค่าเป็นtrueคุณ จะต้องรวมข้อมูลต่อไปนี้ไว้ในไฟล์build.gradleของแต่ละโมดูลandroid.buildToolsVersion "28.0.3"
ผู้ช่วย "มีอะไรใหม่"
ผู้ช่วยคนใหม่จะแจ้งให้คุณทราบเกี่ยวกับการเปลี่ยนแปลงล่าสุดใน Android Studio
ผู้ช่วยจะเปิดขึ้นเมื่อคุณเริ่ม Android Studio หลังจากติดตั้งใหม่หรือ อัปเดตหากตรวจพบว่ามีข้อมูลใหม่ที่ต้องแสดง นอกจากนี้ คุณยังเปิด ผู้ช่วยได้โดยเลือกความช่วยเหลือ > มีอะไรใหม่ใน Android Studio
Android Jetpack
Android Jetpack ช่วยเร่งการพัฒนา Android ด้วยคอมโพเนนต์ เครื่องมือ และคำแนะนำที่ช่วยลดงานที่ต้องทำซ้ำๆ และช่วยให้คุณสร้างแอปคุณภาพสูงที่ทดสอบได้ง่ายและรวดเร็วยิ่งขึ้น Android Studio มีการอัปเดตต่อไปนี้ เพื่อรองรับ Jetpack ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบของ Jetpack
เครื่องมือแก้ไขการนำทาง
เครื่องมือแก้ไขการนำทางแบบใหม่ผสานรวมกับคอมโพเนนต์การนำทางของ Android Jetpack เพื่อให้มุมมองแบบกราฟิกสำหรับการสร้างโครงสร้างการนำทางของ แอปของคุณ เครื่องมือแก้ไขการนำทางช่วยลดความซับซ้อนในการออกแบบและการติดตั้งใช้งาน การนำทางระหว่างปลายทางในแอป
ใน Android Studio 3.2 ตัวแก้ไขการนำทางเป็นฟีเจอร์เวอร์ชันทดลอง หากต้องการ เปิดใช้เครื่องมือแก้ไขการนำทาง ให้คลิกไฟล์ > การตั้งค่า (Android Studio > ค่ากำหนด ใน Mac) เลือกหมวดหมู่ทดลอง ในแผงด้านซ้าย เลือกช่องข้างเปิดใช้เครื่องมือแก้ไขการนำทาง แล้ว รีสตาร์ท Android Studio
ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบของตัวแก้ไขการนำทาง
การย้ายข้อมูล AndroidX
ในฐานะที่เป็นส่วนหนึ่งของ Jetpack เรากำลังย้ายข้อมูลไลบรารีการสนับสนุนของ Android ไปยังไลบรารีส่วนขยาย Android ใหม่โดยใช้เนมสเปซ androidx ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ AndroidX
Android Studio 3.2 ช่วยคุณในกระบวนการนี้ด้วยฟีเจอร์การย้ายข้อมูลใหม่
หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่ไปยัง AndroidX ให้เลือกปรับโครงสร้าง > ย้ายข้อมูลไปยัง AndroidX หากคุณมีการอ้างอิง Maven ที่ยังไม่ได้ย้ายข้อมูลไปยังเนมสเปซ AndroidX ระบบบิลด์ของ Android Studio จะแปลงการอ้างอิงโปรเจ็กต์เหล่านั้นโดยอัตโนมัติด้วย
ปลั๊กอิน Android Gradle มีสถานะส่วนกลางต่อไปนี้ที่คุณตั้งค่าได้
ในไฟล์ gradle.properties
android.useAndroidX: เมื่อตั้งค่าเป็นtrueแฟล็กนี้ จะระบุว่าคุณต้องการเริ่มใช้ AndroidX ตั้งแต่นี้เป็นต้นไป หากไม่มีแฟล็ก Android Studio จะทำงานเสมือนว่าตั้งค่าแฟล็กเป็นfalseandroid.enableJetifier: เมื่อตั้งค่าเป็นtrueแฟล็กนี้ จะระบุว่าคุณต้องการให้มีการรองรับเครื่องมือ (จากปลั๊กอิน Android Gradle ) เพื่อแปลงไลบรารีของบุคคลที่สามที่มีอยู่โดยอัตโนมัติราวกับว่าไลบรารีเหล่านั้น เขียนขึ้นสำหรับ AndroidX หากไม่มีแฟล็ก Android Studio จะทำงานเสมือน ว่าตั้งค่าแฟล็กเป็นfalse
ระบบจะตั้งค่าทั้ง 2 แฟล็กเป็น true เมื่อคุณใช้คำสั่ง
ย้ายข้อมูลไปยัง AndroidX
หากต้องการเริ่มใช้ไลบรารี AndroidX ทันทีและไม่จำเป็นต้อง
แปลงไลบรารีของบุคคลที่สามที่มีอยู่ คุณสามารถตั้งค่า
android.useAndroidX เป็น true และตั้งค่า
android.enableJetifier เป็น false
Android App Bundle
Android App Bundle เป็นรูปแบบการอัปโหลดใหม่ซึ่งมีโค้ดและทรัพยากรที่คอมไพล์แล้วทั้งหมดของแอป แต่เลื่อนการสร้างและลงนาม APK ไปยัง Google Play Store
จากนั้นโมเดลการนำส่งแอปแบบใหม่ของ Google Play จะใช้ App Bundle เพื่อสร้างและนำส่ง APK ที่เพิ่มประสิทธิภาพสำหรับการกำหนดค่าอุปกรณ์ของผู้ใช้แต่ละราย ดังนั้นผู้ใช้แต่ละรายจะดาวน์โหลดเฉพาะโค้ดและทรัพยากรที่จำเป็นในการเรียกใช้แอปของคุณเท่านั้น คุณจึงไม่ต้องสร้าง ลงนาม และจัดการ APK หลายรายการอีกต่อไป และผู้ใช้จะได้รับการดาวน์โหลดที่มีขนาดเล็กลงและเพิ่มประสิทธิภาพมากขึ้น
นอกจากนี้ คุณยังเพิ่มโมดูลฟีเจอร์ลงในโปรเจ็กต์แอปและ รวมไว้ใน App Bundle ได้ด้วย จากนั้นผู้ใช้จะ ดาวน์โหลดและติดตั้งฟีเจอร์ของแอปได้ตามต้องการ
หากต้องการสร้าง Bundle ให้เลือกสร้าง > สร้าง Bundle/APK > สร้าง Bundle
ดูข้อมูลเพิ่มเติม รวมถึงวิธีการสร้างและวิเคราะห์ Android App Bundle ได้ที่ Android App Bundle
ข้อมูลตัวอย่างในเครื่องมือสร้างเลย์เอาต์
เลย์เอาต์ Android หลายรายการมีข้อมูลรันไทม์ที่อาจทำให้การแสดงภาพ
รูปลักษณ์และความรู้สึกของเลย์เอาต์ในระหว่างขั้นตอนการออกแบบของการพัฒนาแอปเป็นเรื่องยาก ตอนนี้คุณดูตัวอย่างมุมมองในเครื่องมือสร้างเลย์เอาต์ที่มีข้อมูลตัวอย่างได้อย่างง่ายดาย เมื่อเพิ่มมุมมอง ปุ่ม
จะปรากฏใต้มุมมองในหน้าต่างการออกแบบ คลิกปุ่มนี้เพื่อตั้งค่า
แอตทริบิวต์มุมมองขณะออกแบบ คุณเลือกได้
จากเทมเพลตข้อมูลตัวอย่างที่หลากหลาย และระบุจำนวนรายการตัวอย่าง
ที่จะใช้เพื่อป้อนข้อมูลในมุมมอง
หากต้องการลองใช้ข้อมูลตัวอย่าง ให้เพิ่ม
RecyclerView
ลงในเลย์เอาต์ใหม่ คลิกปุ่มแอตทริบิวต์ขณะออกแบบ
ใต้มุมมอง แล้วเลือกจากภาพสไลด์ของเทมเพลตข้อมูลตัวอย่าง
Slice
Slice เป็นวิธีใหม่ในการฝังฟังก์ชันการทำงานบางส่วนของแอปใน อินเทอร์เฟซผู้ใช้อื่นๆ บน Android ตัวอย่างเช่น Slice ช่วยให้แสดงฟังก์ชันการทำงานของแอปและเนื้อหาในคำแนะนำของ Google Search ได้
Android Studio 3.2 มีเทมเพลตในตัวที่จะช่วยคุณขยายแอปด้วย Slice Provider API ใหม่ รวมถึงการตรวจสอบ Lint ใหม่เพื่อให้มั่นใจว่าคุณ ปฏิบัติตามแนวทางปฏิบัติแนะนำเมื่อสร้าง Slice
หากต้องการเริ่มต้นใช้งาน ให้คลิกขวาที่โฟลเดอร์โปรเจ็กต์ แล้วเลือก ใหม่ > อื่นๆ > ผู้ให้บริการ Slice
ดูข้อมูลเพิ่มเติม รวมถึงวิธีทดสอบการโต้ตอบของ Slice ได้ที่คู่มือเริ่มต้นใช้งาน Slice
Kotlin 1.2.61
Android Studio 3.2 มาพร้อมกับ Kotlin 1.2.61 และ Android SDK ใหม่ผสานรวมกับ Kotlin ได้ดียิ่งขึ้น ดูข้อมูลเพิ่มเติมได้ที่ บล็อกของนักพัฒนาแอป Android
IntelliJ IDEA 2018.1.6
เราได้อัปเดต IDE หลักของ Android Studio ด้วยการปรับปรุงจาก IntelliJ IDEA ผ่านรุ่น 2018.1.6
โปรไฟล์เลอร์ Android
ลองใช้ฟีเจอร์ใหม่ต่อไปนี้ของ Android Profiler ใน Android Studio 3.2
เซสชัน
ตอนนี้คุณสามารถบันทึกข้อมูล Profiler เป็นเซสชันเพื่อกลับมาดูและ ตรวจสอบในภายหลังได้แล้ว Profiler จะเก็บข้อมูลเซสชันไว้จนกว่าคุณจะรีสตาร์ท IDE
เมื่อ บันทึกร่องรอยเมธอดหรือ บันทึกฮีปดัมป์ IDE จะเพิ่มข้อมูลดังกล่าว (พร้อมกับกิจกรรมเครือข่ายของแอป) เป็นรายการแยกต่างหากในเซสชันปัจจุบัน และคุณสามารถสลับไปมาระหว่างการบันทึกเพื่อเปรียบเทียบข้อมูลได้อย่างง่ายดาย
การติดตามของระบบ
ใน เครื่องมือสร้างโปรไฟล์ CPU ให้เลือกการกำหนดค่าSystem Traceใหม่เพื่อตรวจสอบ CPU ของระบบและ
กิจกรรมของเทรดในอุปกรณ์ การกำหนดค่าการติดตามนี้สร้างขึ้นบน
systrace
และมีประโยชน์ในการตรวจสอบปัญหาในระดับระบบ เช่น UI Jank
ขณะใช้การกำหนดค่าการติดตามนี้ คุณสามารถทำเครื่องหมายรูทีนโค้ดที่สำคัญในไทม์ไลน์ของเครื่องมือสร้างโปรไฟล์ด้วยภาพโดยการวัดคุมโค้ด C/C++ ด้วย Native Tracing API หรือโค้ด Java ด้วยคลาส Trace
ตรวจสอบการอ้างอิง JNI ในเครื่องมือสร้างโปรไฟล์หน่วยความจำ
หากคุณติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ Android 8.0 (ระดับ API 26) ขึ้นไป ตอนนี้คุณจะตรวจสอบการจัดสรรหน่วยความจำสำหรับโค้ด JNI ของแอปได้แล้วโดยใช้ เครื่องมือสร้างโปรไฟล์หน่วยความจำ
ขณะที่แอปทำงานอยู่ ให้เลือกส่วนของไทม์ไลน์ที่ต้องการตรวจสอบ แล้วเลือก JNI heap จากเมนูแบบเลื่อนลงเหนือรายการคลาส ดังที่แสดงด้านล่าง จากนั้นคุณจะตรวจสอบออบเจ็กต์ในฮีปได้ตามปกติ และ ดับเบิลคลิกออบเจ็กต์ในแท็บสแต็กการเรียกการจัดสรรเพื่อดูว่ามีการจัดสรรและ ปล่อยการอ้างอิง JNI ที่ใดในโค้ด
นำเข้า ส่งออก และตรวจสอบไฟล์ฮีปดัมป์ของหน่วยความจำ
ตอนนี้คุณสามารถนำเข้า ส่งออก และตรวจสอบ.hprofไฟล์ฮีปดัมป์หน่วยความจำที่สร้างขึ้น
ด้วยเครื่องมือสร้างโปรไฟล์หน่วยความจำได้แล้ว
นำเข้าไฟล์ .hprof โดยคลิกเริ่มเซสชัน Profiler ใหม่
ใน
บานหน้าต่างเซสชันของ Profiler แล้วเลือกโหลดจากไฟล์ จากนั้นคุณจะ
ตรวจสอบข้อมูลในเครื่องมือสร้างโปรไฟล์หน่วยความจำได้เช่นเดียวกับฮีปดัมป์อื่นๆ
หากต้องการบันทึกข้อมูลฮีปดัมป์เพื่อตรวจสอบในภายหลัง ให้ใช้ปุ่มส่งออก Heap Dump ที่ด้านขวาของรายการ ฮีปดัมป์ ในบานหน้าต่างเซสชัน ในกล่องโต้ตอบส่งออกเป็นที่ปรากฏขึ้น ให้บันทึกไฟล์ด้วยนามสกุล.hprofชื่อไฟล์
บันทึกกิจกรรมของ CPU ระหว่างการเริ่มต้นแอป
ตอนนี้คุณบันทึกกิจกรรมของ CPU ในระหว่างการเริ่มต้นแอปได้แล้ว โดยทำดังนี้
- เลือกเรียกใช้ > แก้ไขการกำหนดค่าจากเมนูหลัก
- ในแท็บการสร้างโปรไฟล์ของการกำหนดค่าการเรียกใช้ที่ต้องการ ให้เลือกช่อง ข้างเริ่มบันทึกร่องรอยเมธอดเมื่อเริ่มต้น
- เลือกการกำหนดค่าการบันทึก CPU ที่จะใช้จากเมนูแบบเลื่อนลง
- ติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ Android 8.0 (ระดับ API 26) ขึ้นไปโดยเลือกเรียกใช้ > โปรไฟล์
ส่งออกการติดตาม CPU
หลังจากบันทึกกิจกรรมของ CPU ด้วยเครื่องมือสร้างโปรไฟล์ CPU แล้ว คุณจะส่งออกข้อมูลเป็นไฟล์
.trace เพื่อแชร์กับผู้อื่นหรือตรวจสอบในภายหลังได้
หากต้องการส่งออกการติดตามหลังจากบันทึกกิจกรรมของ CPU แล้ว ให้ทำดังนี้
- คลิกขวาที่การบันทึกที่ต้องการส่งออกจากไทม์ไลน์ CPU
- เลือกส่งออกการติดตามจากเมนูแบบเลื่อนลง
- ไปที่ตำแหน่งที่ต้องการบันทึกไฟล์แล้วคลิกบันทึก
นำเข้าและตรวจสอบไฟล์การติดตาม CPU
ตอนนี้คุณสามารถนำเข้าและตรวจสอบไฟล์ .trace ที่สร้างด้วย
Debug API หรือ
เครื่องมือสร้างโปรไฟล์ CPU ได้แล้ว (ปัจจุบันคุณไม่สามารถนำเข้าการบันทึกการติดตามระบบได้)
นำเข้าไฟล์การย้ายข้อมูลโดยคลิกเริ่มเซสชัน Profiler ใหม่
ในบานหน้าต่างเซสชันของ
Profiler แล้วเลือกโหลดจากไฟล์ จากนั้นคุณจะ
ตรวจสอบข้อมูลในเครื่องมือสร้างโปรไฟล์ CPU ได้เช่นเดียวกับที่ทำตามปกติ โดยมี
ข้อยกเว้นต่อไปนี้
- กิจกรรมของ CPU จะไม่แสดงตามไทม์ไลน์ของ CPU
- ไทม์ไลน์กิจกรรมของเธรดจะระบุเฉพาะตำแหน่งที่มีข้อมูลการติดตามสำหรับ แต่ละเธรด และไม่ใช่สถานะจริงของเธรด (เช่น กำลังทำงาน รอ หรือ หยุดทำงาน)
บันทึกกิจกรรมของ CPU โดยใช้ Debug API
ตอนนี้คุณเริ่มและหยุดบันทึกกิจกรรมของ CPU ในเครื่องมือสร้างโปรไฟล์ CPU ได้แล้วโดยใช้Debug API ในแอป หลังจาก
คุณติดตั้งใช้งานแอปในอุปกรณ์แล้ว โปรไฟล์เลอร์จะเริ่มบันทึกกิจกรรม CPU โดยอัตโนมัติ
เมื่อแอปเรียกใช้
startMethodTracing(String tracePath)
และโปรไฟล์เลอร์จะหยุดบันทึกเมื่อแอปเรียกใช้
stopMethodTracing() ขณะ
บันทึกกิจกรรม CPU ที่ทริกเกอร์โดยใช้ API นี้ เครื่องมือสร้างโปรไฟล์ CPU จะแสดง
Debug API เป็นการกำหนดค่าการบันทึก CPU ที่เลือก
Energy Profiler
เครื่องมือสร้างโปรไฟล์พลังงานจะแสดงภาพการ ใช้งานพลังงานโดยประมาณของแอป รวมถึงเหตุการณ์ของระบบที่ส่งผลต่อการ ใช้งานพลังงาน เช่น Wake Lock, การปลุก และงาน
Energy Profiler จะปรากฏเป็นแถวใหม่ที่ด้านล่างของหน้าต่าง Profiler เมื่อคุณเรียกใช้แอปในอุปกรณ์ที่เชื่อมต่อหรือโปรแกรมจำลองของ Android ที่ใช้ Android 8.0 (API 26) ขึ้นไป
คลิกแถวพลังงานเพื่อขยายมุมมอง Energy Profiler วางเคอร์เซอร์เมาส์ เหนือแถบในไทม์ไลน์เพื่อดูรายละเอียดการใช้พลังงานตามทรัพยากร CPU, เครือข่าย และตำแหน่ง (GPS) รวมถึงเหตุการณ์ของระบบที่เกี่ยวข้อง
เหตุการณ์ของระบบที่มีผลต่อการใช้พลังงานจะแสดงในไทม์ไลน์ระบบ ด้านล่างไทม์ไลน์พลังงาน รายละเอียดของเหตุการณ์ระบบภายในช่วงเวลาที่ระบุจะแสดงในบานหน้าต่างเหตุการณ์เมื่อคุณเลือกช่วงเวลาในไทม์ไลน์พลังงาน
หากต้องการดูสแต็กการเรียกใช้และรายละเอียดอื่นๆ สำหรับเหตุการณ์ของระบบ เช่น WakeLock ให้เลือกเหตุการณ์นั้นในแผงเหตุการณ์ หากต้องการไปที่โค้ดที่รับผิดชอบต่อเหตุการณ์ของระบบ ให้ดับเบิลคลิกรายการในสแต็กการเรียกใช้
การตรวจสอบ Lint
Android Studio 3.2 มีฟีเจอร์ใหม่และฟีเจอร์ที่ได้รับการปรับปรุงมากมายสำหรับการตรวจสอบด้วยเครื่องมือวิเคราะห์ซอร์สโค้ด
การตรวจสอบ Lint แบบใหม่จะช่วยให้คุณค้นหาและระบุปัญหาที่พบบ่อยในโค้ดได้ ตั้งแต่คำเตือนเกี่ยวกับปัญหาด้านการใช้งานที่อาจเกิดขึ้นไปจนถึงข้อผิดพลาดที่มีลำดับความสำคัญสูงเกี่ยวกับช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น
เครื่องมือวิเคราะห์ซอร์สโค้ดจะตรวจสอบความสามารถในการทำงานร่วมกันของ Java/Kotlin
การตรวจสอบ Lint ใหม่จะบังคับใช้แนวทางปฏิบัติแนะนำที่อธิบายไว้ในคำแนะนำเกี่ยวกับการทำงานร่วมกันของ Kotlin เพื่อให้มั่นใจว่าโค้ด Java จะทำงานร่วมกับโค้ด Kotlin ได้อย่างราบรื่น ตัวอย่างของการตรวจสอบเหล่านี้ ได้แก่ การค้นหาการมีอยู่ของคำอธิบายประกอบ Nullability การใช้คีย์เวิร์ดที่ฮาร์ดโค้ดใน Kotlin และการวางพารามิเตอร์ Lambda ไว้สุดท้าย
หากต้องการเปิดใช้การตรวจสอบเหล่านี้ ให้คลิกไฟล์ > การตั้งค่า (Android Studio > ค่ากำหนด ใน Mac) เพื่อเปิดกล่องโต้ตอบการตั้งค่า จากนั้นไปที่ส่วน เอดิเตอร์ > การตรวจสอบ > Android > เครื่องมือวิเคราะห์ซอร์สโค้ด > ความสามารถในการทำงานร่วมกัน > ความสามารถในการทำงานร่วมกันของ Kotlin แล้วเลือกกฎที่ต้องการเปิดใช้
หากต้องการเปิดใช้การตรวจสอบเหล่านี้สำหรับการสร้างบรรทัดคำสั่ง ให้เพิ่มข้อมูลต่อไปนี้ลงใน
build.gradle ของคุณ
android {
lintOptions {
check 'Interoperability'
}
}
การตรวจสอบ Lint สำหรับ Slice
การตรวจสอบ Lint ใหม่สำหรับ Slice ช่วยให้มั่นใจได้ว่าคุณสร้าง Slice อย่างถูกต้อง เช่น การตรวจสอบ Lint จะเตือนคุณหากไม่ได้กำหนดการดำเนินการหลัก ให้กับ Slice
เป้าหมาย Gradle ใหม่
ใช้ lintFix งาน Gradle ใหม่เพื่อใช้การแก้ไขทั้งหมดที่ปลอดภัย
ซึ่งการตรวจสอบ Lint แนะนำกับซอร์สโค้ดโดยตรง ตัวอย่างการตรวจสอบ Lint ที่แนะนำวิธีแก้ไขที่ปลอดภัยให้ใช้คือ SyntheticAccessor
การอัปเดตข้อมูลเมตา
ข้อมูลเมตาต่างๆ เช่น การตรวจสอบการแคสต์บริการ ได้รับการอัปเดตเพื่อให้การตรวจสอบ Lint ทำงานกับ Android 9 (API ระดับ 28) ได้
คำเตือนหากเรียกใช้ Lint ในตัวแปรใหม่
ตอนนี้ Lint จะบันทึกตัวแปรและเวอร์ชันที่ใช้บันทึกเกณฑ์พื้นฐาน และจะ เตือนคุณหากเรียกใช้ในตัวแปรอื่นที่ไม่ใช่ตัวแปรที่ใช้สร้างเกณฑ์พื้นฐาน
การปรับปรุงการตรวจสอบ Lint ที่มีอยู่
Android Studio 3.2 มีการปรับปรุงการตรวจสอบด้วยเครื่องมือวิเคราะห์ซอร์สโค้ดที่มีอยู่หลายอย่าง ตัวอย่างเช่น การตรวจสอบวงจรทรัพยากรจะใช้กับทรัพยากรประเภทอื่นๆ และเครื่องมือตรวจหาการแปลจะค้นหาคำแปลที่ขาดหายไปได้ทันทีในเอดิเตอร์
ทำให้ค้นหารหัสปัญหาได้ง่ายขึ้น
ตอนนี้รหัสปัญหาจะแสดงในที่ต่างๆ มากขึ้น รวมถึงในหน้าต่างผลการตรวจสอบ ซึ่งจะช่วยให้คุณค้นหาข้อมูลที่จำเป็นในการเปิดหรือปิดใช้การตรวจสอบที่เฉพาะเจาะจงผ่าน lintOptions ใน build.gradle ได้ง่ายขึ้น
ดูข้อมูลเพิ่มเติมได้ที่ กำหนดค่าตัวเลือก Lint ด้วย Gradle
การเชื่อมโยงข้อมูล V2
ตอนนี้ระบบจะเปิดใช้ Data Binding V2 โดยค่าเริ่มต้นและใช้ร่วมกับ V1 ได้ ซึ่งหมายความว่า หากคุณมีทรัพยากร Dependency ของไลบรารีที่คอมไพล์ด้วย V1 คุณจะใช้ ทรัพยากรเหล่านั้นกับโปรเจ็กต์ที่ใช้ Data Binding V2 ได้ อย่างไรก็ตาม โปรดทราบว่าโปรเจ็กต์ที่ใช้ V1 จะใช้ทรัพยากร Dependency ที่คอมไพล์ด้วย V2 ไม่ได้
กระบวนการ Desugaring D8
ใน Android Studio 3.1 เราได้ผสานรวมขั้นตอนกระบวนการ Desugaring ลงในเครื่องมือ D8 เป็นฟีเจอร์ทดลอง ซึ่งช่วยลดเวลาบิลด์โดยรวม ใน Android Studio 3.2 ระบบจะเปิดใช้กระบวนการ Desugaring ด้วย D8 โดยค่าเริ่มต้น
เครื่องมือลดขนาดโค้ดใหม่
R8 เป็นเครื่องมือใหม่สำหรับการลดขนาดโค้ดและการปรับให้ยากต่อการอ่าน (Obfuscation) ซึ่งจะมาแทนที่ ProGuard คุณ
เริ่มใช้ R8 เวอร์ชันตัวอย่างได้โดยรวมข้อมูลต่อไปนี้ในไฟล์ gradle.properties ของโปรเจ็กต์
android.enableR8 = true
เปลี่ยน ABI เริ่มต้นสำหรับ APK หลายรายการ
เมื่อสร้าง APK หลายรายการที่แต่ละรายการกำหนดเป้าหมายเป็น ABI ที่แตกต่างกัน ปลั๊กอินจะไม่สร้าง APK สำหรับ ABI ต่อไปนี้โดยค่าเริ่มต้นอีกต่อไป ได้แก่ mips, mips64 และ armeabi
หากต้องการสร้าง APK ที่กำหนดเป้าหมายเป็น ABI เหล่านี้ คุณต้องใช้
NDK r16b หรือต่ำกว่า และระบุ ABI
ในไฟล์ build.gradle ดังที่แสดงด้านล่าง
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
หมายเหตุ: การเปลี่ยนแปลงลักษณะการทำงานนี้รวมอยู่ใน Android Studio 3.1 RC1 และ สูงกว่าด้วย
ฟีเจอร์เครื่องมือแก้ไขที่ได้รับการปรับปรุงสำหรับไฟล์บิลด์ CMake
หากคุณใช้ CMake เพื่อเพิ่มโค้ด C และ C++ ลงในโปรเจ็กต์ ตอนนี้ Android Studio มีฟีเจอร์ตัวแก้ไขที่ได้รับการปรับปรุงเพื่อช่วยคุณแก้ไขสคริปต์บิลด์ CMake เช่น ฟีเจอร์ต่อไปนี้
- การไฮไลต์ไวยากรณ์และการเติมโค้ดอัตโนมัติ: ตอนนี้ IDE จะไฮไลต์และแนะนำการเติมโค้ดอัตโนมัติสำหรับคำสั่ง CMake ทั่วไป นอกจากนี้ คุณยังไปยังไฟล์ได้โดยคลิกไฟล์ขณะกดปุ่ม Control (Command ใน Mac)
- การจัดรูปแบบโค้ดใหม่: ตอนนี้คุณสามารถใช้ตัวเลือกการจัดรูปแบบโค้ดใหม่ของ IntelliJ เพื่อ ใช้รูปแบบโค้ดกับสคริปต์บิลด์ CMake ได้แล้ว
- การเปลี่ยนโครงสร้างภายในโค้ดอย่างปลอดภัย: เครื่องมือการเปลี่ยนโครงสร้างภายในโค้ดในตัวของ IDE จะตรวจสอบด้วยว่าคุณเปลี่ยนชื่อหรือลบไฟล์ที่อ้างอิงในสคริปต์การสร้าง CMake หรือไม่
ไปยังไฟล์ส่วนหัวภายนอก
เมื่อใช้หน้าต่างโปรเจ็กต์ใน Android Studio เวอร์ชันก่อนหน้า คุณจะไปยังส่วนหัวและตรวจสอบได้เฉพาะไฟล์ส่วนหัวที่เป็นของไลบรารีที่คุณสร้างจากโปรเจ็กต์ที่อยู่ในเครื่อง ในรุ่นนี้ คุณยังดูและตรวจสอบ ไฟล์ส่วนหัวที่รวมอยู่ในการอ้างอิงไลบรารี C/C++ ภายนอกซึ่งคุณนำเข้า ลงในโปรเจ็กต์แอปได้ด้วย
หากคุณรวมโค้ดและไลบรารี C/C++ ไว้ในโปรเจ็กต์อยู่แล้ว ให้เปิดหน้าต่างโปรเจ็กต์ทางด้านซ้ายของ IDE โดยเลือก View > Tool Windows > Project จากเมนูหลัก แล้วเลือก Android จาก เมนูแบบเลื่อนลง ในไดเรกทอรี cpp ส่วนหัวทั้งหมดที่อยู่ภายใน ขอบเขตของโปรเจ็กต์แอปจะจัดระเบียบไว้ภายใต้โหนด include สำหรับการอ้างอิงไลบรารี C/C++ ในเครื่องแต่ละรายการ ดังที่แสดงด้านล่าง
เปิดใช้ Multidex แบบเนทีฟโดยค่าเริ่มต้น
Android Studio เวอร์ชันก่อนหน้าจะเปิดใช้ Multidex แบบเนทีฟเมื่อติดตั้งใช้งาน แอปเวอร์ชันแก้ไขข้อบกพร่องในอุปกรณ์ที่ใช้ Android ที่มีระดับ API 21 ขึ้นไป ตอนนี้ไม่ว่าคุณจะทำการติดตั้งใช้งานในอุปกรณ์หรือสร้าง APK สำหรับการเผยแพร่ ปลั๊กอิน Android สำหรับ Gradle จะเปิดใช้ Multidex แบบเนทีฟสำหรับโมดูลทั้งหมดที่ตั้งค่า minSdkVersion=21 ขึ้นไป
AAPT2 ย้ายไปยังที่เก็บ Maven ของ Google
ตั้งแต่ Android Studio 3.2 เป็นต้นไป แหล่งที่มาของ AAPT2 (เครื่องมือแพ็กเกจเนื้อหาของ Android 2) คือที่เก็บ Maven ของ Google
หากต้องการใช้ AAPT2 โปรดตรวจสอบว่าคุณมีgoogle()ทรัพยากร Dependencyในไฟล์
build.gradle ดังที่แสดงที่นี่
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2 เวอร์ชันใหม่แก้ไขปัญหาหลายอย่าง รวมถึงปรับปรุงการจัดการ อักขระที่ไม่ใช่ ASCII ใน Windows
การนำการกำหนดค่าออกตามคำขอ
เราได้นำค่ากำหนดกำหนดค่าตามต้องการออกจาก Android Studio แล้ว
Android Studio จะไม่ส่งอาร์กิวเมนต์ --configure-on-demand
ไปยัง Gradle อีกต่อไป
ผู้ช่วยการเชื่อมต่อ ADB
ผู้ช่วยการเชื่อมต่อ ADB ใหม่ มีวิธีการแบบทีละขั้นตอนที่จะช่วยคุณตั้งค่าและใช้อุปกรณ์ผ่านการเชื่อมต่อ Android Debug Bridge (ADB)
หากต้องการเริ่มผู้ช่วย ให้เลือกเครื่องมือ > ผู้ช่วยการเชื่อมต่อ
ผู้ช่วยการเชื่อมต่อ ADB จะแสดงวิธีการ ควบคุมในบริบท และ รายการอุปกรณ์ที่เชื่อมต่อในชุดหน้าเว็บในแผงผู้ช่วย
การปรับปรุงโปรแกรมจำลอง
ตอนนี้คุณสามารถบันทึกและโหลดสแนปชอตของ AVD (อุปกรณ์เสมือน Android) ได้ทุกเมื่อในโปรแกรมจำลองของ Android ซึ่งช่วยให้คุณกลับไปใช้อุปกรณ์จำลองในสถานะที่ทราบเพื่อทำการทดสอบได้อย่างรวดเร็วและง่ายดาย เมื่อแก้ไข AVD โดยใช้ AVD Manager คุณจะระบุได้ว่าจะโหลด AVD Snapshot ใดเมื่อ AVD เริ่มต้น
ตอนนี้ตัวควบคุมสำหรับการบันทึก โหลด และจัดการสแนปชอต AVD จะอยู่ในแท็บสแนปชอตในหน้าต่างตัวควบคุมเพิ่มเติมของโปรแกรมจำลอง
ดูรายละเอียดได้ที่สแนปชอต
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ใหม่และการเปลี่ยนแปลงในโปรแกรมจำลองได้ที่ บันทึกประจำรุ่นของโปรแกรมจำลอง