Android Studio 4.1 (สิงหาคม 2020)

Android Studio 4.1 เป็นรุ่นหลักที่มีฟีเจอร์และการปรับปรุงใหม่ๆ มากมาย

4.1.3 (มีนาคม 2021)

การอัปเดตเล็กน้อยนี้มีการแก้ไขข้อบกพร่องหลายรายการ หากต้องการดูรายการข้อบกพร่องที่แก้ไขแล้วที่สำคัญ โปรดอ่านโพสต์ที่เกี่ยวข้องใน บล็อกการอัปเดตรุ่น

4.1.2 (มกราคม 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

เครื่องมือตรวจสอบฐานข้อมูลแบบใหม่

ตรวจสอบ ค้นหา และแก้ไขฐานข้อมูลในแอปที่ทำงานอยู่โดยใช้เครื่องมือตรวจสอบฐานข้อมูลใหม่ ในการเริ่มต้นใช้งาน ให้ติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ API ระดับ 26 ขึ้นไป แล้วเลือกดู > หน้าต่างเครื่องมือ > เครื่องมือตรวจสอบฐานข้อมูลจากแถบเมนู

ดูข้อมูลเพิ่มเติมได้ที่แก้ไขข้อบกพร่องฐานข้อมูลด้วยเครื่องมือตรวจสอบฐานข้อมูล

เรียกใช้โปรแกรมจำลอง Android ใน Android Studio โดยตรง

ตอนนี้คุณเรียกใช้โปรแกรมจำลอง Android ใน Android Studio ได้โดยตรงแล้ว ใช้ฟีเจอร์นี้เพื่อประหยัดพื้นที่บนหน้าจอ เพื่อไปยังส่วนต่างๆ ระหว่างโปรแกรมจำลองกับหน้าต่างเครื่องมือแก้ไขอย่างรวดเร็วโดยใช้แป้นพิมพ์ลัด และเพื่อจัดระเบียบเวิร์กโฟลว์ IDE และโปรแกรมจำลองในหน้าต่างแอปพลิเคชันเดียว

โปรแกรมจำลองที่เปิดขึ้นในหน้าต่างเครื่องมือใน Android Studio

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับโปรแกรมจำลอง Android

ใช้โมเดล TensorFlow Lite

การเชื่อมโยงโมเดล ML ช่วยให้คุณนําเข้าไฟล์.tfliteโมเดล โดยตรงและใช้ในโปรเจ็กต์ได้ง่ายๆ Android Studio จะสร้างคลาสที่ใช้งานง่ายเพื่อให้คุณเรียกใช้โมเดลด้วยโค้ดน้อยลงและประเภทที่ปลอดภัยยิ่งขึ้น

โมเดลที่รองรับ

การใช้งานการเชื่อมโยงโมเดล ML ปัจจุบันรองรับโมเดลการจัดประเภทรูปภาพและการเปลี่ยนรูปแบบ โดยมีเงื่อนไขว่ามีการปรับปรุงด้วยข้อมูลเมตา ในอนาคต เราจะขยายการรองรับไปยังขอบเขตปัญหาอื่นๆ เช่น การตรวจจับวัตถุ การแบ่งกลุ่มรูปภาพ และการจัดประเภทข้อความ

เรามีโมเดลที่ผ่านการฝึกล่วงหน้าพร้อมข้อมูลเมตาที่หลากหลายใน TensorFlow Hub นอกจากนี้ คุณยังเพิ่มข้อมูลเมตาลงในโมเดล TensorFlow Lite ด้วยตนเองได้ด้วย ตามที่ระบุไว้ในการเพิ่มข้อมูลเมตาลงในโมเดล TensorFlow Lite

นําเข้าไฟล์โมเดล

หากต้องการนําเข้าไฟล์โมเดลที่รองรับ ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดกล่องโต้ตอบการนําเข้าโมเดล TensorFlow Lite ในเมนูไฟล์ที่ ไฟล์ > ใหม่ > อื่นๆ > โมเดล TensorFlow Lite
  2. เลือกไฟล์รูปแบบ .tflite ที่คุณดาวน์โหลดหรือสร้างไว้ก่อนหน้านี้
  3. คลิกเสร็จสิ้น

ซึ่งจะนําเข้าไฟล์โมเดลไปยังโปรเจ็กต์และวางไว้ในโฟลเดอร์ ml/ หากไม่มีไดเรกทอรีนี้ Android Studio จะสร้างให้

นําเข้าโมเดล TensorFlow Lite

ดูข้อมูลเมตาและการใช้งานโมเดล

หากต้องการดูรายละเอียดของโมเดลที่นำเข้าและดูวิธีการใช้ในแอป ให้ดับเบิลคลิกไฟล์โมเดลในโปรเจ็กต์เพื่อเปิดหน้าเครื่องมือดูโมเดล ซึ่งจะแสดงข้อมูลต่อไปนี้

  • รุ่น: คำอธิบายระดับสูงของรุ่น
  • Tensor: คำอธิบาย Tensor อินพุตและเอาต์พุต
  • โค้ดตัวอย่าง: ตัวอย่างวิธีโต้ตอบกับโมเดลในแอป

ตัวอย่างการใช้ mobilenet_v1_0.25_160_quantized.tflite มีดังนี้

ดังที่แสดงในตัวอย่าง Android Studio จะสร้างคลาสชื่อ MobilenetV1025160Quantized เพื่อโต้ตอบกับโมเดล

หากโมเดลไม่มีข้อมูลเมตา หน้าจอนี้จะแสดงข้อมูลเพียงเล็กน้อยเท่านั้น

ปัญหาที่ทราบและวิธีแก้ปัญหาเบื้องต้น

  • ปัจจุบันการรองรับโมเดล TensorFlow Lite สำหรับโดเมนปัญหาอื่นๆ นอกเหนือจากการจัดประเภทรูปภาพและการโอนสไตล์ยังมีข้อจำกัด แม้ว่าการนําเข้าควรทํางานได้ดี แต่อินพุตและ/หรือเอาต์พุตของโมเดลบางรายการจะแสดงด้วย TensorBuffers แทนประเภทที่ใช้งานง่าย สำหรับโมเดลที่ไม่มีข้อมูลเมตา อินพุตและเอาต์พุตของโมเดลทั้งหมดจะเป็น TensorBuffers
  • ระบบไม่รองรับโมเดลที่มีประเภทข้อมูลอินพุตและเอาต์พุตแตกต่างจาก DataType.UINT8 หรือ DataType.FLOAT32

ฟีเจอร์นี้ยังอยู่ระหว่างการพัฒนา โปรดแสดงความคิดเห็นหรือรายงานข้อบกพร่อง

เครื่องมือสร้างโปรไฟล์หน่วยความจําแบบเดิม

ตอนนี้เครื่องมือวิเคราะห์หน่วยความจำของ Android Studio มีเครื่องมือวิเคราะห์หน่วยความจำแบบเนทีฟสําหรับแอปที่ติดตั้งใช้งานในอุปกรณ์จริงที่ใช้ Android 10 ขึ้นไป เครื่องมือวิเคราะห์หน่วยความจําแบบเนทีฟช่วยให้คุณบันทึกการจัดสรรหน่วยความจําและการยกเลิกการจัดสรรจากโค้ดเนทีฟ รวมถึงตรวจสอบสถิติสะสมเกี่ยวกับออบเจ็กต์เนทีฟได้

ไฟล์บันทึกในเครื่องมือวิเคราะห์หน่วยความจำแบบเนทีฟ

ดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือวิเคราะห์หน่วยความจําแบบเนทีฟได้ที่หัวข้อตรวจสอบการใช้หน่วยความจําของแอปด้วยเครื่องมือวิเคราะห์หน่วยความจํา

ปัญหาที่ทราบและวิธีแก้ปัญหาเบื้องต้น

เครื่องมือวิเคราะห์หน่วยความจำแบบเนทีฟใน Android Studio 4.1 ไม่ทำงานกับอุปกรณ์ Android 11 ขณะนี้การรองรับการสร้างโปรไฟล์อุปกรณ์ Android 11 พร้อมใช้งานในรุ่นตัวอย่าง 4.2"

ตั้งแต่รุ่น 4.1 เวอร์ชันแรก ระบบได้ปิดใช้โปรไฟล์การเริ่มต้นแอปแล้ว ตัวเลือกนี้จะเปิดใช้ในรุ่นที่กำลังจะเปิดตัว

วิธีแก้ปัญหาชั่วคราวคือใช้เครื่องมือวิเคราะห์โปรไฟล์บรรทัดคำสั่งแบบสแตนด์อโลนของ Perfetto เพื่อบันทึกโปรไฟล์การเริ่มต้น

UI การติดตามระบบ: การเลือกที่ง่ายขึ้น แท็บการวิเคราะห์ใหม่ และข้อมูลการแสดงผลเฟรมเพิ่มเติม

UI การติดตามระบบในเครื่องมือวิเคราะห์ประสิทธิภาพของ Android Studio มีการปรับปรุงต่อไปนี้

  • การเลือกกล่อง: ตอนนี้คุณลากเมาส์เพื่อเลือกพื้นที่สี่เหลี่ยมผืนผ้าในส่วนชุดข้อความได้แล้ว ซึ่งคุณจะซูมเข้าได้โดยคลิกปุ่มซูมไปยังส่วนที่เลือก ปุ่มซูมเข้าที่ตัวเลือกของเครื่องมือวิเคราะห์ ที่ด้านขวาบน (หรือใช้แป้นพิมพ์ลัด M) เมื่อลากและวางชุดข้อความที่คล้ายกันไว้ข้างๆ กัน คุณจะเลือกชุดข้อความหลายรายการเพื่อตรวจสอบพร้อมกันได้ เช่น คุณอาจต้องการวิเคราะห์ในเธรดผู้ทํางานหลายรายการ

  • แท็บสรุป: แท็บสรุปใหม่ในแผงการวิเคราะห์จะแสดงข้อมูลต่อไปนี้

    • สถิติรวมของเหตุการณ์หนึ่งๆ ที่เกิดขึ้นทั้งหมด เช่น จํานวนครั้งที่เกิดและระยะเวลาต่ำสุด/สูงสุด

    • สถิติเหตุการณ์การติดตามสําหรับเหตุการณ์ที่เลือก

    • ข้อมูลเกี่ยวกับการกระจายสถานะชุดข้อความ

    • เหตุการณ์การติดตามที่เลือกซึ่งทำงานนานที่สุด

    หากต้องการไปยังรายการที่พบรายการอื่น ให้เลือกแถวอื่นจากตาราง

  • ข้อมูลการแสดงผล: ในส่วนการแสดงผล ไทม์ไลน์ใหม่สำหรับ SurfaceFlinger และ VSYNC จะช่วยคุณตรวจสอบปัญหาการแสดงผลใน UI ของแอป

ดูวิธีการพื้นฐานในการใช้งานเกี่ยวกับวิธีบันทึกการติดตามระบบได้ที่ส่วนบันทึกการติดตามของตรวจสอบกิจกรรมของ CPU ด้วยเครื่องมือวิเคราะห์โปรไฟล์ CPU

เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลนพร้อมใช้งานแล้ว

ตอนนี้คุณโปรไฟล์แอปได้โดยไม่ต้องเรียกใช้ IDE ของ Android Studio แบบสมบูรณ์ด้วยเครื่องมือวิเคราะห์ประสิทธิภาพแบบสแตนด์อโลนใหม่

ดูวิธีการใช้เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลนได้ในส่วนเรียกใช้เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลน

การรองรับการนําทางของ Dagger

การดำเนินการในแถบด้านข้างของ IDE สำหรับไปยังผู้บริโภคและผู้ให้บริการ Dagger

Android Studio ช่วยให้คุณไปยังส่วนต่างๆ ของโค้ดที่เกี่ยวข้องกับ Dagger ได้ง่ายขึ้นด้วยการดำเนินการใหม่ในแถบด้านข้างและการสนับสนุนเพิ่มเติมในหน้าต่างค้นหาการใช้งาน

  • การดำเนินการใหม่ในแถบด้านข้าง: สำหรับโปรเจ็กต์ที่ใช้ Dagger IDE จะมีการดำเนินการในแถบด้านข้างที่ช่วยให้คุณไปยังส่วนต่างๆ ของโค้ดที่มีคำอธิบายประกอบ Dagger ได้ ตัวอย่างเช่น การคลิกการดำเนินการในแถบด้านข้าง ข้างเมธอดที่ใช้ประเภทหนึ่งๆ จะนำคุณไปยังผู้ให้บริการประเภทนั้น ในทางกลับกัน การคลิกการดำเนินการใน กล่องพักโฆษณาจะนำคุณไปยังตำแหน่งที่ใช้ประเภทหนึ่งๆ เป็นข้อกำหนด

  • โหนด "ค้นหาการใช้งาน": เมื่อเรียกใช้ค้นหาการใช้งานในผู้ให้บริการประเภทหนึ่งๆ หน้าต่างค้นหาจะมีโหนดผู้ใช้ข้อมูลอ้างอิงที่แสดงรายการผู้ใช้ประเภทนั้น ในทางกลับกัน การเรียกใช้การดำเนินการนี้ในผู้บริโภคของ Dependency ที่ Dagger ฉีดเข้ามา หน้าต่างค้นหาจะแสดงผู้ให้บริการของ Dependency นั้น

คอมโพเนนต์ Material Design: ธีมและสไตล์ที่อัปเดตในเทมเพลตโปรเจ็กต์ใหม่

ภาพเคลื่อนไหว: การสร้างโปรเจ็กต์ใน Android Studio ด้วยพร็อพเพอร์ตี้การออกแบบมาเทเรียลแบบใหม่

ตอนนี้เทมเพลต Android Studio ในกล่องโต้ตอบสร้างโปรเจ็กต์ใหม่ใช้ Material Design Components (MDC) และเป็นไปตามคำแนะนำที่อัปเดตสำหรับธีมและสไตล์โดยค่าเริ่มต้น การอัปเดตมีดังนี้

  • MDC: โปรเจ็กต์ใช้ com.google.android.material:material ใน build.gradle ธีมแอปพื้นฐานใช้แอตทริบิวต์ Theme.MaterialComponents.* หลักและลบล้างแอตทริบิวต์ "เปิด" และสี MDC ที่อัปเดต

  • แหล่งข้อมูลสี: แหล่งข้อมูลสีใน colors.xml ใช้ชื่อตามตัวอักษร (เช่น purple_500 แทน colorPrimary)

  • ทรัพยากรธีม: ทรัพยากรธีมอยู่ใน themes.xml (แทน styles.xml) และใช้ชื่อ Theme.<var><var>

  • ธีมมืด: ธีมแอปพลิเคชันพื้นฐานใช้ DayNight หลักและแบ่งออกเป็น res/values และ res/values-night

  • แอตทริบิวต์ธีม: ทรัพยากรสีจะอ้างอิงเป็นแอตทริบิวต์ธีม (เช่น ?attr/colorPrimary) ในเลย์เอาต์และสไตล์เพื่อหลีกเลี่ยงการใช้สีแบบฮาร์ดโค้ด

IntelliJ IDEA 2020.1

IDE หลักของ Android Studio ได้รับการอัปเดตด้วยการปรับปรุงจาก IntelliJ IDEA ผ่านรุ่น 2020.1 ซึ่งรวมถึงหน้าต่าง Commit ใหม่ที่ช่วยให้คุณดำเนินการควบคุมเวอร์ชันได้ และโหมด Zen ใหม่ที่สลับได้โดยเลือกดู > ลักษณะที่ปรากฏ > เข้าสู่โหมดไม่มีสิ่งรบกวน

ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงในเวอร์ชัน 2020.1 ได้ที่ IDEA 2020.1

การเปลี่ยนแปลงไดเรกทอรีการกําหนดค่า IDE

ตำแหน่งของไดเรกทอรีการกําหนดค่าผู้ใช้มีการเปลี่ยนแปลงดังต่อไปนี้

Windows

ไวยากรณ์: %APPDATA%\Google&lt;product><version>

ตัวอย่าง: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

ไวยากรณ์: ~/Library/Application Support/Google/<product><version>

ตัวอย่าง: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

ไวยากรณ์: ~/.config/Google/<product><version>

ตัวอย่าง: ~/.config/Google/AndroidStudio4.1

ตำแหน่งไดเรกทอรีใหม่เหล่านี้สอดคล้องกับการอัปเดตล่าสุดของ IntelliJ IDEA ซึ่งเป็น IDE ที่ใช้พัฒนา Android Studio

หาก Studio ไม่รีสตาร์ทหลังจากอัปเกรด คุณอาจต้องลบไดเรกทอรีการกําหนดค่าออกจาก Studio เวอร์ชันก่อนหน้า ดูข้อมูลเพิ่มเติมที่หน้าปัญหาที่ทราบ

Kotlin 1.3.72

Android Studio 4.1 มาพร้อมกับ Kotlin 1.3.72 ซึ่งมีการแก้ไขหลายรายการเพื่อปรับปรุงการไฮไลต์ การตรวจสอบ และการเติมโค้ดของ Kotlin ดูรายละเอียดได้ในบันทึกการเปลี่ยนแปลงของ Kotlin เวอร์ชัน 1.3.72

ตัวอย่างมุมมองที่กำหนดเอง

เมื่อสร้างมุมมองที่กำหนดเอง (เช่น โดยการขยายคลาส View หรือ Button) ตอนนี้ Android Studio จะแสดงตัวอย่างของมุมมองที่กำหนดเอง ใช้เมนูแบบเลื่อนลงในแถบเครื่องมือเพื่อสลับระหว่างมุมมองที่กำหนดเองหลายรายการ หรือคลิกปุ่มเพื่อตัดเนื้อหาในแนวตั้งหรือแนวนอน

ดูตัวอย่างมุมมองที่กําหนดเองใน IDE

หมายเหตุ: หากไม่เห็นการเปลี่ยนแปลงในตัวอย่าง ให้เลือกสร้าง > สร้างโปรเจ็กต์จากแถบเมนู

สัญลักษณ์สําหรับรายงานข้อขัดข้องเนทีฟ

เมื่อเกิดข้อขัดข้องหรือ ANR ในโค้ดที่มาพร้อมเครื่อง ระบบจะสร้างสแต็กเทรซ ซึ่งเป็นชุดข้อมูลลำดับของฟังก์ชันที่มีการเรียกใช้ซึ่งฝังอยู่ในโปรแกรมจนถึงเวลาที่เกิดข้อขัดข้อง ชุดข้อมูลเหล่านี้ช่วยให้คุณระบุและแก้ไขปัญหาที่เกิดขึ้นในแหล่งที่มาได้ แต่ต้องเปลี่ยนเป็นสัญลักษณ์ก่อนเพื่อแปลที่อยู่ของคอมพิวเตอร์กลับเป็นชื่อฟังก์ชันที่มนุษย์อ่านได้

หากพัฒนาแอปหรือเกมโดยใช้โค้ดแบบเนทีฟ เช่น C++ ตอนนี้คุณสามารถอัปโหลดไฟล์สัญลักษณ์สำหรับการแก้ไขข้อบกพร่องไปยัง Play Console สำหรับแอปแต่ละเวอร์ชันได้แล้ว Play Console จะใช้ไฟล์สัญลักษณ์เหล่านี้เพื่อแปลงสแต็กเทรซของแอปเป็นสัญลักษณ์ ซึ่งจะช่วยให้วิเคราะห์ข้อขัดข้องและ ANR ได้ง่ายขึ้น ดูวิธีอัปโหลดไฟล์สัญลักษณ์การแก้ไขข้อบกพร่องได้ที่การสนับสนุนด้านการขัดข้องของระบบ

ใช้การเปลี่ยนแปลง

เราได้ทำการปรับปรุงต่อไปนี้เพื่อใช้การเปลี่ยนแปลงสำหรับอุปกรณ์ที่ใช้ Android 11 Developer Preview 3 ขึ้นไป เพื่อช่วยให้คุณทํางานได้มากขึ้นขณะพัฒนาแอป

ความเร็วในการติดตั้งใช้งานที่เร็วขึ้น

เราได้ลงทุนอย่างหนักเพื่อเพิ่มประสิทธิภาพความเร็วในการทดสอบซ้ำด้วยการพัฒนาวิธีการเพื่อติดตั้งใช้งานและเก็บการเปลี่ยนแปลงไว้ในอุปกรณ์โดยไม่ต้องติดตั้งแอปพลิเคชัน หลังจากการทําให้การเผยแพร่ครั้งแรก การทําให้การเผยแพร่ในอุปกรณ์ Android 11 ครั้งต่อๆ ไปโดยใช้ใช้การเปลี่ยนแปลงโค้ด ไอคอนใช้การเปลี่ยนแปลงโค้ด หรือใช้การเปลี่ยนแปลงและรีสตาร์ทกิจกรรม ไอคอนใช้การเปลี่ยนแปลงและเริ่มกิจกรรมอีกครั้งจะเร็วขึ้นอย่างมาก

ดูข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการดำเนินการ 2 อย่างนี้ได้ที่ใช้การเปลี่ยนแปลง

การรองรับการเปลี่ยนแปลงโค้ดเพิ่มเติม

สำหรับอุปกรณ์ที่ใช้ Android 11 Developer Preview 3 ขึ้นไป ตอนนี้คุณสามารถเพิ่มเมธอดแล้วนำไปใช้กับแอปที่ทำงานอยู่ได้โดยคลิกใช้การเปลี่ยนแปลงโค้ด ไอคอนใช้การเปลี่ยนแปลงโค้ด หรือใช้การเปลี่ยนแปลงและเริ่มกิจกรรมอีกครั้ง ไอคอนใช้การเปลี่ยนแปลงและเริ่มกิจกรรมอีกครั้ง