ปลั๊กอิน Android Gradle 3.2.0 (กันยายน 2018)
ปลั๊กอิน Android เวอร์ชันนี้กำหนดให้ต้องมีสิ่งต่อไปนี้
| เวอร์ชันขั้นต่ำ | เวอร์ชันเริ่มต้น | หมายเหตุ | |
|---|---|---|---|
| Gradle | 4.6 | 4.6 | ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle |
| เครื่องมือสร้าง SDK | 28.0.3 | 28.0.3 | ติดตั้งหรือกำหนดค่าเครื่องมือสร้าง SDK |
3.2.1 (ตุลาคม 2018)
การอัปเดตนี้ทำให้คุณไม่ต้องระบุเวอร์ชันสำหรับเครื่องมือสร้าง SDK อีกต่อไป ตอนนี้ปลั๊กอิน Android Gradle จะใช้เวอร์ชัน 28.0.3 โดยค่าเริ่มต้น
ฟีเจอร์ใหม่
-
รองรับการสร้าง Android App Bundle: App Bundle เป็นรูปแบบการอัปโหลดใหม่ ซึ่งมีทรัพยากรและโค้ดที่คอมไพล์แล้วทั้งหมดของแอป ขณะเดียวกันก็เลื่อนการสร้างและลงนาม APK ไปยัง Google Play Store คุณไม่ต้องสร้าง ลงนาม และจัดการ APK หลายรายการอีกต่อไป และผู้ใช้จะได้รับการดาวน์โหลดที่มีขนาดเล็กลงซึ่งเพิ่มประสิทธิภาพสำหรับอุปกรณ์ของตน ดูข้อมูลเพิ่มเติมได้ที่ เกี่ยวกับ Android App Bundle
-
รองรับความเร็วในบิลด์แบบเพิ่มที่ปรับปรุงแล้วเมื่อใช้โปรเซสเซอร์สำหรับคำอธิบายประกอบ: ตอนนี้ DSL ที่ชื่อ
AnnotationProcessorOptionsได้ขยายCommandLineArgumentProviderซึ่งช่วยให้คุณหรือผู้เขียนโปรเซสเซอร์สำหรับคำอธิบายประกอบสามารถใส่คำอธิบายประกอบอาร์กิวเมนต์สำหรับโปรเซสเซอร์โดยใช้คำอธิบายประกอบประเภทพร็อพเพอร์ตี้ของบิลด์แบบเพิ่ม การใช้คำอธิบายประกอบเหล่านี้จะช่วยปรับปรุงความถูกต้องและประสิทธิภาพของ บิลด์แบบเพิ่มและบิลด์เปล่าที่แคชไว้ ดูข้อมูลเพิ่มเติมได้ที่ส่งอาร์กิวเมนต์ไปยังโปรเซสเซอร์สำหรับคำอธิบายประกอบ -
เครื่องมือย้ายข้อมูลสำหรับ AndroidX: เมื่อใช้ปลั๊กอิน Android Gradle 3.2.0 กับ Android 3.2 ขึ้นไป คุณจะย้ายข้อมูลทรัพยากร Dependency ในเครื่องและ Maven ของโปรเจ็กต์เพื่อใช้ไลบรารี AndroidX ใหม่ได้โดยเลือกปรับโครงสร้าง > ย้ายข้อมูลไปยัง AndroidX จากแถบเมนู การใช้เครื่องมือย้ายข้อมูลนี้ยังตั้งค่าสถานะต่อไปนี้เป็น
trueในไฟล์gradle.propertiesด้วย-
android.useAndroidX: เมื่อตั้งค่าเป็นtrueปลั๊กอิน Android จะใช้ไลบรารี AndroidX ที่เหมาะสมแทนไลบรารีการสนับสนุน เมื่อไม่ได้ระบุสถานะนี้ ปลั๊กอินจะตั้งค่าเป็นfalseโดยค่าเริ่มต้น -
android.enableJetifier: เมื่อตั้งค่าเป็นtrueปลั๊กอิน Android จะย้ายข้อมูลไลบรารีของบุคคลที่สามที่มีอยู่โดยอัตโนมัติเพื่อใช้ AndroidX โดย การเขียนไบนารีใหม่ เมื่อไม่ได้ระบุสถานะนี้ ปลั๊กอินจะตั้งค่าเป็นfalseโดยค่าเริ่มต้น คุณจะตั้งค่าสถานะนี้เป็นtrueได้เมื่อandroid.useAndroidXตั้งค่าเป็นtrueด้วยเท่านั้น มิฉะนั้นการสร้างจะเกิดข้อผิดพลาดดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ AndroidX
-
-
เครื่องมือลดขนาดโค้ดใหม่ R8: R8 เป็นเครื่องมือใหม่สำหรับการลดขนาดโค้ดและการปรับให้ยากต่อการอ่าน (Obfuscation) ซึ่งจะมาแทนที่ ProGuard คุณเริ่มใช้ R8 เวอร์ชันตัวอย่างได้โดย รวมข้อมูลต่อไปนี้ในไฟล์
gradle.propertiesของโปรเจ็กต์android.enableR8 = true
android.enableR8 = true
การเปลี่ยนแปลงลักษณะการทำงาน
-
ตอนนี้ระบบจะเปิดใช้กระบวนการ Desugaring ด้วย D8 โดยค่าเริ่มต้น
-
ตอนนี้ AAPT2 อยู่ในที่เก็บ Maven ของ Google แล้ว หากต้องการใช้ AAPT2 โปรดตรวจสอบว่าคุณมีทรัพยากร Dependency
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() }
-
ตอนนี้ระบบจะเปิดใช้ Multidex แบบเนทีฟโดยค่าเริ่มต้น Android Studio เวอร์ชันก่อนหน้าจะเปิดใช้ Multidex แบบเนทีฟเมื่อติดตั้งใช้งานแอปเวอร์ชันแก้ไขข้อบกพร่องในอุปกรณ์ที่ใช้ Android ที่มี API ระดับ 21 ขึ้นไป ตอนนี้ไม่ว่าคุณจะทำการติดตั้งใช้งาน ในอุปกรณ์หรือสร้าง APK สำหรับการเผยแพร่ ปลั๊กอิน Android Gradle จะเปิดใช้ Multidex แบบเนทีฟสำหรับโมดูลทั้งหมดที่ตั้งค่า
minSdkVersion=21ขึ้นไป -
ตอนนี้ปลั๊กอินบังคับใช้เวอร์ชันขั้นต่ำของปลั๊กอิน Protobuf (0.8.6), ปลั๊กอิน Kotlin (1.2.50) และปลั๊กอิน Crashlytics (1.25.4)
-
ตอนนี้ปลั๊กอินโมดูลฟีเจอร์
com.android.featureจะบังคับให้ใช้เฉพาะตัวอักษร ตัวเลข และขีดล่างเมื่อระบุชื่อโมดูล เช่น หากชื่อโมดูลฟีเจอร์มีขีดกลาง การสร้างจะเกิดข้อผิดพลาด ลักษณะการทำงานนี้ตรงกับลักษณะการทำงานของปลั๊กอินฟีเจอร์แบบไดนามิก
การแก้ไขข้อบกพร่อง
- ตอนนี้ JavaCompile สามารถแคชได้ในโปรเจ็กต์ที่มีการเชื่อมโยงข้อมูล (ปัญหา #69243050)
- หลีกเลี่ยงการคอมไพล์โมดูลไลบรารีที่มีการเชื่อมโยงข้อมูลได้ดียิ่งขึ้น (ปัญหา #77539932)
- ตอนนี้คุณสามารถเปิดใช้กำหนดค่าออนดีมานด์อีกครั้งได้แล้ว หากปิดใช้ไว้ในเวอร์ชันก่อนหน้าเนื่องจากข้อผิดพลาดในการสร้างที่คาดไม่ถึง (ปัญหา #77910727)