ปลั๊กอิน 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

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

  • เครื่องมือย้ายข้อมูลสำหรับ AndroidX: เมื่อใช้ Android Gradle Plugin 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 เป็นเครื่องมือใหม่สำหรับการลดขนาดโค้ดและการปรับให้ยากต่อการอ่าน (Obfuscate) ซึ่งจะมาแทนที่ ProGuard คุณเริ่มใช้ R8 เวอร์ชันตัวอย่างได้โดย รวมข้อมูลต่อไปนี้ในไฟล์ gradle.properties ของโปรเจ็กต์

            android.enableR8 = true
            
            android.enableR8 = true
            

การเปลี่ยนแปลงลักษณะการทำงาน

  • ตอนนี้ระบบจะเปิดใช้ Desugaring ด้วย D8 โดยค่าเริ่มต้น

  • ตอนนี้ AAPT2 อยู่ในที่เก็บ 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()
                }
              
  • ตอนนี้ระบบจะเปิดใช้ 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)