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>บางครั้งทำให้ Layout Editor ขัดข้อง
ปัญหาที่ทราบในเวอร์ชัน 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 เครื่องมือแก้ไขการนำทางเป็นฟีเจอร์เวอร์ชันทดลอง หากต้องการ เปิดใช้ Navigation Editor ให้คลิกไฟล์ > การตั้งค่า (Android Studio > ค่ากำหนดใน Mac) เลือกหมวดหมู่ทดลอง ในแผงด้านซ้าย เลือกช่องข้างเปิดใช้ Navigation Editor แล้ว รีสตาร์ท Android Studio
ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบของ Navigation Editor
การย้ายข้อมูล AndroidX
เรากำลังย้ายข้อมูลไลบรารีการสนับสนุนของ Android ไปยังไลบรารีส่วนขยาย Android ใหม่โดยใช้เนมสเปซ androidx ซึ่งเป็นส่วนหนึ่งของ Jetpack
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ 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 ได้ด้วย จากนั้นผู้ใช้จะ ดาวน์โหลดและติดตั้งฟีเจอร์ของแอปได้ตามต้องการ
หากต้องการสร้างแพ็กเกจ ให้เลือกสร้าง > สร้างแพ็กเกจ/APK > สร้างแพ็กเกจ
ดูข้อมูลเพิ่มเติม รวมถึงวิธีการสร้างและวิเคราะห์ 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
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
เมื่อ บันทึกการติดตามเมธอดหรือ บันทึก Heap Dump IDE จะเพิ่มข้อมูลดังกล่าว (พร้อมกับกิจกรรมเครือข่ายของแอป) เป็นรายการแยกต่างหากในเซสชันปัจจุบัน และคุณสามารถสลับไปมาระหว่างการบันทึกเพื่อเปรียบเทียบข้อมูลได้อย่างง่ายดาย
การติดตามของระบบ
ใน CPU Profiler ให้เลือกการกำหนดค่าการติดตามระบบใหม่เพื่อตรวจสอบ CPU ของระบบและ
กิจกรรมของเธรดในอุปกรณ์ การกำหนดค่าการติดตามนี้สร้างขึ้นบน
systrace
และมีประโยชน์ในการตรวจสอบปัญหาในระดับระบบ เช่น UI ที่กระตุก
ขณะใช้การกำหนดค่าการติดตามนี้ คุณสามารถทำเครื่องหมายด้วยภาพในส่วนของโค้ดที่สำคัญในไทม์ไลน์ของโปรไฟล์เลอร์ได้โดยการวัดโค้ด C/C++ ด้วย Native Tracing API หรือโค้ด Java ด้วยคลาส Trace
ตรวจสอบการอ้างอิง JNI ใน Memory Profiler
หากคุณติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป ตอนนี้คุณจะตรวจสอบการจัดสรรหน่วยความจำสำหรับโค้ด JNI ของแอปได้แล้วโดยใช้ Memory Profiler
ขณะที่แอปทำงานอยู่ ให้เลือกส่วนของไทม์ไลน์ที่ต้องการตรวจสอบ แล้วเลือก JNI heap จากเมนูแบบเลื่อนลงเหนือรายการคลาส ดังที่แสดงด้านล่าง จากนั้นคุณจะตรวจสอบออบเจ็กต์ในฮีปได้ตามปกติ และ ดับเบิลคลิกออบเจ็กต์ในแท็บสแต็กการเรียกการจัดสรรเพื่อดูว่ามีการจัดสรรและ ปล่อยการอ้างอิง JNI ในโค้ดของคุณที่ใด
นำเข้า ส่งออก และตรวจสอบไฟล์ฮีปดัมป์ของหน่วยความจำ
ตอนนี้คุณสามารถนำเข้า ส่งออก และตรวจสอบ.hprofไฟล์การทิ้งฮีปหน่วยความจำที่สร้างขึ้น
ด้วย Memory Profiler ได้แล้ว
นำเข้าไฟล์ .hprof โดยคลิกเริ่มเซสชัน Profiler ใหม่
ในบานหน้าต่างเซสชันของ
Profiler แล้วเลือกโหลดจากไฟล์ จากนั้นคุณจะ
ตรวจสอบข้อมูลใน Memory Profiler ได้เช่นเดียวกับการตรวจสอบ Heap Dump อื่นๆ
หากต้องการบันทึกข้อมูล Heap Dump เพื่อตรวจสอบในภายหลัง ให้ใช้ปุ่มส่งออก Heap Dump ที่ด้านขวาของรายการ Heap Dump ในบานหน้าต่างเซสชัน ในกล่องโต้ตอบส่งออกเป็นที่ปรากฏขึ้น ให้บันทึกไฟล์ด้วยนามสกุล.hprof
บันทึกกิจกรรมของ CPU ระหว่างการเริ่มต้นแอป
ตอนนี้คุณบันทึกกิจกรรมของ CPU ในระหว่างการเริ่มต้นของแอปได้แล้ว โดยทำดังนี้
- เลือกเรียกใช้ > แก้ไขการกำหนดค่าจากเมนูหลัก
- ในแท็บการสร้างโปรไฟล์ของการกำหนดค่าการเรียกใช้ที่ต้องการ ให้เลือกช่อง ข้างเริ่มบันทึกการติดตามเมธอดเมื่อเริ่มต้น
- เลือกการกำหนดค่าการบันทึก CPU ที่จะใช้จากเมนูแบบเลื่อนลง
- โดยเลือกเรียกใช้ > โปรไฟล์
ส่งออกการติดตาม CPU
หลังจากบันทึกกิจกรรมของ CPU ด้วย CPU Profiler แล้ว คุณจะส่งออกข้อมูลเป็น
ไฟล์ .trace เพื่อแชร์กับผู้อื่นหรือตรวจสอบในภายหลังได้
หากต้องการส่งออกการติดตามหลังจากบันทึกกิจกรรมของ CPU แล้ว ให้ทำดังนี้
- คลิกขวาที่การบันทึกที่ต้องการส่งออกจากไทม์ไลน์ CPU
- เลือกส่งออกการติดตามจากเมนูแบบเลื่อนลง
- ไปที่ตำแหน่งที่ต้องการบันทึกไฟล์แล้วคลิกบันทึก
นำเข้าและตรวจสอบไฟล์การติดตาม CPU
ตอนนี้คุณสามารถนำเข้าและตรวจสอบไฟล์ .trace ที่สร้างด้วย
Debug API หรือ
CPU Profiler ได้แล้ว (ปัจจุบันคุณ
ไม่สามารถนำเข้าการบันทึกการติดตามระบบได้)
นำเข้าไฟล์การติดตามโดยคลิกเริ่มเซสชัน Profiler ใหม่
ใน
บานหน้าต่างเซสชันของ Profiler แล้วเลือก
โหลดจากไฟล์ จากนั้นคุณจะ
ตรวจสอบข้อมูลใน CPU Profiler ได้เช่นเดียวกับที่ทำตามปกติ โดยมี
ข้อยกเว้นต่อไปนี้
- กิจกรรมของ CPU จะไม่แสดงตามไทม์ไลน์ของ CPU
- ไทม์ไลน์กิจกรรมของเธรดจะระบุเฉพาะตำแหน่งที่มีข้อมูลการติดตามสำหรับ แต่ละเธรด และไม่ใช่สถานะจริงของเธรด (เช่น กำลังทำงาน รอ หรือ หยุดทำงาน)
บันทึกกิจกรรมของ CPU โดยใช้ Debug API
ตอนนี้คุณเริ่มและหยุดบันทึกกิจกรรมของ CPU ใน CPU Profiler ได้แล้วโดย
ใช้Debug API ในแอป หลังจาก
คุณติดตั้งใช้งานแอปในอุปกรณ์แล้ว โปรไฟล์เลอร์จะเริ่มบันทึกกิจกรรม CPU โดยอัตโนมัติ
เมื่อแอปเรียกใช้
startMethodTracing(String tracePath)
และโปรไฟล์เลอร์จะหยุดบันทึกเมื่อแอปเรียกใช้
stopMethodTracing() ขณะ
บันทึกกิจกรรม CPU ที่ทริกเกอร์โดยใช้ API นี้ โปรไฟล์เลอร์ CPU จะแสดง
Debug API เป็นการกำหนดค่าการบันทึก CPU ที่เลือก
Energy Profiler
เครื่องมือสร้างโปรไฟล์พลังงานจะแสดงภาพการ ใช้งานพลังงานโดยประมาณของแอป รวมถึงเหตุการณ์ของระบบที่มีผลต่อการ ใช้งานพลังงาน เช่น Wake Lock, การปลุก และงาน
Energy Profiler จะปรากฏเป็นแถวใหม่ที่ด้านล่างของหน้าต่าง Profiler เมื่อคุณเรียกใช้แอปในอุปกรณ์ที่เชื่อมต่อหรือ Android Emulator ที่ใช้ Android 8.0 (API 26) ขึ้นไป
คลิกแถวพลังงานเพื่อขยายมุมมอง Energy Profiler วางเคอร์เซอร์เมาส์ เหนือแถบในไทม์ไลน์เพื่อดูรายละเอียดการใช้พลังงานตามทรัพยากร CPU, เครือข่าย และตำแหน่ง (GPS) รวมถึงเหตุการณ์ของระบบที่เกี่ยวข้อง
เหตุการณ์ของระบบที่มีผลต่อการใช้พลังงานจะระบุไว้ในไทม์ไลน์ระบบ ด้านล่างไทม์ไลน์พลังงาน รายละเอียดของเหตุการณ์ระบบภายในช่วงเวลาที่ระบุจะแสดงในบานหน้าต่างเหตุการณ์เมื่อคุณเลือกช่วงเวลาในไทม์ไลน์พลังงาน
หากต้องการดูสแต็กการเรียกและรายละเอียดอื่นๆ สำหรับเหตุการณ์ของระบบ เช่น WakeLock ให้เลือกในแผงเหตุการณ์ หากต้องการไปที่โค้ดที่รับผิดชอบต่อเหตุการณ์ของระบบ ให้ดับเบิลคลิกรายการในสแต็กการเรียก
การตรวจสอบ Lint
Android Studio 3.2 มีฟีเจอร์ใหม่และฟีเจอร์ที่ได้รับการปรับปรุงมากมายสำหรับการตรวจสอบด้วยเครื่องมือวิเคราะห์ซอร์สโค้ด
การตรวจสอบ Lint แบบใหม่จะช่วยคุณค้นหาและระบุปัญหาที่พบบ่อยในโค้ด ตั้งแต่คำเตือนเกี่ยวกับปัญหาด้านความสามารถในการใช้งานที่อาจเกิดขึ้นไปจนถึงข้อผิดพลาดที่มีลำดับความสำคัญสูงเกี่ยวกับช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น
Lint ตรวจสอบความสามารถในการทำงานร่วมกันของ Java/Kotlin
การตรวจสอบ Lint ใหม่จะบังคับใช้แนวทางปฏิบัติแนะนำที่อธิบายไว้ในคำแนะนำเกี่ยวกับการทำงานร่วมกันของ Kotlin เพื่อให้มั่นใจว่าโค้ด Java จะทำงานร่วมกับโค้ด Kotlin ได้อย่างราบรื่น ตัวอย่างของการตรวจสอบเหล่านี้ ได้แก่ การค้นหาการมีอยู่ของคำอธิบายประกอบ Nullability การใช้คีย์เวิร์ดที่ฮาร์ดโค้ดใน Kotlin และการวางพารามิเตอร์ Lambda ไว้สุดท้าย
หากต้องการเปิดใช้การตรวจสอบเหล่านี้ ให้คลิกไฟล์ > การตั้งค่า (Android Studio > ค่ากำหนด ใน Mac) เพื่อเปิดกล่องโต้ตอบการตั้งค่า จากนั้นไปที่ส่วน Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability แล้วเลือกกฎที่ต้องการเปิดใช้
หากต้องการเปิดใช้การตรวจสอบเหล่านี้สำหรับการสร้างบรรทัดคำสั่ง ให้เพิ่มข้อมูลต่อไปนี้ลงใน
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 ไม่ได้
การแปลง D8
ใน Android Studio 3.1 เราได้ผสานรวมขั้นตอนการยกเลิกการเพิ่มน้ำตาลลงในเครื่องมือ 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()การอ้างอิงในไฟล์
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 จะแสดงวิธีการ ควบคุมในบริบท และ รายการอุปกรณ์ที่เชื่อมต่อในชุดหน้าเว็บในแผง Assistant
การปรับปรุงโปรแกรมจำลอง
ตอนนี้คุณสามารถบันทึกและโหลดสแนปชอตของ AVD (อุปกรณ์เสมือน Android) ได้ทุกเมื่อในโปรแกรมจำลอง Android ซึ่งช่วยให้คุณกลับอุปกรณ์จำลองไปยังสถานะที่ทราบเพื่อทำการทดสอบได้อย่างรวดเร็วและง่ายดาย เมื่อแก้ไข AVD โดยใช้ AVD Manager คุณจะระบุได้ว่าจะโหลดสแนปชอต AVD ใดเมื่อ AVD เริ่มทำงาน
ตอนนี้ตัวควบคุมสำหรับการบันทึก โหลด และจัดการสแนปชอต AVD จะอยู่ในแท็บสแนปชอตในหน้าต่างตัวควบคุมเพิ่มเติมของโปรแกรมจำลอง
ดูรายละเอียดได้ที่สแนปชอต
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ใหม่และการเปลี่ยนแปลงในโปรแกรมจำลองได้ที่ บันทึกประจำรุ่นของโปรแกรมจำลอง