ปลั๊กอิน Android Gradle 3.2.0 (กันยายน 2018)

ปลั๊กอิน Android เวอร์ชันนี้ต้องการสิ่งต่อไปนี้

เวอร์ชันต่ำสุด เวอร์ชันเริ่มต้น หมายเหตุ
เกรเดิล 4.6 4.6 ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle
เครื่องมือสร้าง SDK 28.0.3 28.0.3 ติดตั้งหรือกำหนดค่าเครื่องมือสร้าง SDK

3.2.1 (ตุลาคม 2018)

การอัปเดตนี้ไม่จําเป็นต้องระบุเวอร์ชันสําหรับ SDK Build อีกต่อไป เครื่องมือ ตอนนี้ปลั๊กอิน Android Gradle ใช้เวอร์ชัน 28.0.3 โดยค่าเริ่มต้น

ฟีเจอร์ใหม่

  • รองรับการสร้าง Android App Bundle: App Bundle เป็นการอัปโหลดใหม่ ที่รวมโค้ดและทรัพยากรทั้งหมดของแอป เลื่อนการสร้าง APK และลงชื่อเข้าใช้ Google Play Store ตอนนี้คุณไม่ได้อยู่ ต้องสร้าง รับรอง และจัดการ APK หลายรายการ อีกทั้งผู้ใช้จะได้รับการดาวน์โหลดขนาดเล็กลง ที่ปรับให้เหมาะกับอุปกรณ์อยู่เสมอ หากต้องการดูข้อมูลเพิ่มเติม โปรดอ่าน เกี่ยวกับ Android App Bundle

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

  • เครื่องมือย้ายข้อมูลสำหรับ AndroidX: เมื่อใช้ปลั๊กอิน Android Gradle 3.2.0 กับ Android 3.2 ขึ้นไป คุณย้ายข้อมูลในเครื่องของโปรเจ็กต์และ Maven ได้ ทรัพยากร Dependency เพื่อใช้ไลบรารี AndroidX ใหม่โดยเลือก Refactor > ย้ายข้อมูลไปยัง AndroidX จากแถบเมนู การใช้เครื่องมือย้ายข้อมูลนี้ยังตั้งค่า ค่าสถานะต่อไปนี้ไปยัง true ในไฟล์ gradle.properties ของคุณ

    • android.useAndroidX: เมื่อตั้งค่าเป็น true ปลั๊กอิน Android จะใช้ ไลบรารี AndroidX ที่เหมาะสมแทนไลบรารีการสนับสนุน เมื่อแฟล็กนี้ ไม่ได้ระบุ ปลั๊กอินจะตั้งค่าเป็น false โดยค่าเริ่มต้น

    • android.enableJetifier: เมื่อตั้งค่าเป็น true ปลั๊กอิน Android ย้ายไลบรารีของบุคคลที่สามที่มีอยู่ไปใช้ AndroidX โดยอัตโนมัติภายในวันที่ การเขียนไบนารีใหม่ เมื่อไม่มีการระบุแฟล็กนี้ ปลั๊กอินจะมีชุด เป็น false โดยค่าเริ่มต้น คุณจะตั้งค่าสถานะนี้เป็น true ได้ในขณะที่ android.useAndroidX ได้รับการตั้งค่าเป็น true ด้วย มิฉะนั้นคุณจะได้รับข้อผิดพลาดของรุ่น

      หากต้องการเรียนรู้เพิ่มเติม โปรดอ่านภาพรวมของ AndroidX

  • เครื่องมือย่อโค้ดแบบใหม่ R8: R8 เป็นเครื่องมือใหม่สำหรับการย่อโค้ดและการสร้างความสับสน ที่มาแทน ProGuard คุณสามารถเริ่มใช้เวอร์ชันตัวอย่างของ R8 ได้โดย โดยรวมค่าต่อไปนี้ในไฟล์ gradle.properties ของโปรเจ็กต์

            android.enableR8 = true
            
            android.enableR8 = true
            

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

  • เปิดใช้การแยกข้อมูลด้วย 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 ได้เปิดใช้มัลติเดกซ์แบบเนทีฟเมื่อทำให้แอปเวอร์ชันที่แก้ไขข้อบกพร่องใช้งานได้ อุปกรณ์ที่ใช้ 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)