Làm chủ Gradle cho Android: Nhiệm vụ của Gradle và Kotlin

Tác Giả: Lewis Jackson
Ngày Sáng TạO: 11 Có Thể 2021
CậP NhậT Ngày Tháng: 1 Tháng BảY 2024
Anonim
Làm chủ Gradle cho Android: Nhiệm vụ của Gradle và Kotlin - ỨNg DụNg
Làm chủ Gradle cho Android: Nhiệm vụ của Gradle và Kotlin - ỨNg DụNg

NộI Dung


Thay vì Java, XML hoặc Kotlin, các tệp xây dựng Gradle này sử dụng ngôn ngữ dành riêng cho miền dựa trên Groovy (DSL). Nếu bạn không quen thuộc với Groovy, thì chúng tôi sẽ xem xét từng dòng một trong các tệp xây dựng Gradle này, vì vậy đến cuối bài viết này, bạn sẽ cảm thấy thoải mái khi đọc và viết mã Groovy đơn giản.

Gradle nhằm mục đích làm cho cuộc sống của bạn dễ dàng hơn, bằng cách cung cấp một bộ cài đặt mặc định mà bạn thường có thể sử dụng với cấu hình thủ công tối thiểu - khi bạn đã sẵn sàng để xây dựng dự án của mình, chỉ cần nhấn nút Run Run của Android Studio và Gradle sẽ bắt đầu quá trình xây dựng cho bạn.

Mặc dù có quy ước về cấp độ cấu hình của Gradle, nhưng nếu cài đặt mặc định của nó không phù hợp với nhu cầu của bạn, thì bạn có thể tùy chỉnh, định cấu hình và mở rộng quy trình xây dựng và thậm chí điều chỉnh cài đặt Gradle để thực hiện các tác vụ rất cụ thể.


Vì các tập lệnh Gradle được chứa trong các tệp riêng của chúng, bạn có thể sửa đổi quy trình xây dựng ứng dụng của mình bất cứ lúc nào mà không cần phải chạm vào mã nguồn ứng dụng của bạn. Trong hướng dẫn này, chúng tôi sẽ sửa đổi quy trình xây dựng bằng cách sử dụng hương vị, biến thể xây dựng và tác vụ Gradle tùy chỉnh - tất cả đều không có không bao giờ chạm vào mã ứng dụng của chúng tôi.

Khám phá các tập tin xây dựng Gradle

Mỗi khi bạn tạo một dự án, Android Studio sẽ tạo cùng một tập hợp các tệp xây dựng Gradle. Ngay cả khi bạn nhập một dự án hiện có vào Android Studio, nó sẽ vẫn tạo các tệp Gradle chính xác này và thêm chúng vào dự án của bạn.

Để bắt đầu hiểu rõ hơn về cú pháp Gradle và cú pháp Groovy, hãy cho phép Hãy xem từng dòng từng tệp của bản dựng Android Grad Gradle.


1. cài đặt. Nâng cấp

Tệp settings.gradle là nơi bạn sẽ xác định tất cả các mô-đun ứng dụng của bạn theo tên, bằng cách sử dụng từ khóa kèm theo. Ví dụ: nếu bạn có một dự án bao gồm một ứng dụng và một giây thứ hai, thì thì tệp settings.gradle của bạn sẽ trông giống như thế này:

bao gồm: ứng dụng ,: secondmodule rootProject.name = MyProject

Tùy thuộc vào quy mô dự án của bạn, tệp này có thể dài hơn đáng kể.

Trong quá trình xây dựng, Gradle sẽ kiểm tra nội dung của tệp cài đặt dự án của bạn. Nâng cấp và xác định tất cả các mô-đun mà nó cần đưa vào trong quá trình xây dựng.

2. build.gradle (cấp dự án)

Tệp build.gradle cấp dự án được đặt trong thư mục gốc của dự án của bạn và chứa các cài đặt sẽ được áp dụng cho tất cả các các mô-đun của bạn (còn được gọi là các dự án của Cameron bởi Gradle).

Bạn nên sử dụng tệp này để xác định bất kỳ bổ trợ, kho lưu trữ, phụ thuộc và tùy chọn cấu hình nào áp dụng cho mọi mô-đun trong dự án Android của bạn. Lưu ý rằng nếu bạn xác định bất kỳ tác vụ Gradle nào trong tệp build.gradle cấp dự án, thì nó vẫn có thể ghi đè hoặc mở rộng các tác vụ này cho các mô-đun riêng lẻ, bằng cách chỉnh sửa tương ứng của chúng cấp độ mô-đun tập tin build.gradle.

Một tệp build.gradle cấp dự án điển hình sẽ trông giống như thế này:

buildscript {repstoreories {google () jcenter ()} phụ thuộc {classpath com.android.tools.build:gradle:3.5.0-alpha06 // LƯU Ý: Không đặt phụ thuộc ứng dụng của bạn vào đây; chúng thuộc // trong các tệp build.gradle mô-đun riêng lẻ}} allprojects {repositories {google () jcenter ()}} task clean (type: Delete) {xóa rootProject.buildDir}

Tệp build.gradle cấp dự án này được chia thành các khối sau:

  • Bản dựng. Điều này chứa các cài đặt được yêu cầu để thực hiện việc xây dựng.
  • Kho lưu trữ. Gradle chịu trách nhiệm định vị các phụ thuộc dự án của bạn và làm cho chúng có sẵn trong bản dựng của bạn. Tuy nhiên, không phải tất cả các phụ thuộc đều đến từ cùng một kho lưu trữ, do đó, bạn sẽ cần xác định tất cả các kho lưu trữ mà Gradle nên tìm kiếm, để truy xuất các phụ thuộc dự án của bạn.
  • Phụ thuộc. Phần này chứa các phụ thuộc plugin của bạn, được tải xuống và lưu trữ trong bộ đệm cục bộ của bạn. Bạn nên không phải xác định bất kỳ phụ thuộc mô-đun trong khối này.
  • Tất cả các dự án. Đây là nơi bạn sẽ xác định các kho lưu trữ cần có tất cả các của các mô-đun dự án của bạn.

3. build.gradle (cấp độ mô-đun)

Đây là tệp build.gradle cấp mô-đun, có mặt trong mọi mô-đun trong suốt dự án của bạn. Nếu dự án Android của bạn bao gồm nhiều mô-đun, thì nó cũng sẽ bao gồm nhiều tệp build.gradle cấp mô-đun.

Mỗi tệp build.gradle cấp mô-đun chứa tên gói, tên phiên bản và mã phiên bản dự án của bạn, cộng với SDK tối thiểu và đích cho mô-đun cụ thể này.

Một tệp build.gradle cấp mô-đun cũng có thể có tập hợp các hướng dẫn và phụ thuộc xây dựng riêng. Ví dụ: nếu bạn đang tạo một ứng dụng có thành phần Wear OS, thì dự án Android Studio của bạn sẽ bao gồm một mô-đun điện thoại thông minh / máy tính bảng riêng biệt và mô-đun Wear - vì chúng nhắm mục tiêu các thiết bị hoàn toàn khác nhau, các mô-đun này có sự khác biệt lớn phụ thuộc!

Một tệp build.gradle cấp mô-đun cơ bản thường sẽ trông giống như thế này:

áp dụng plugin: com.android.application android {compileSdkVersion 28 defaultConfig {applicationId "com.jessicathornsby.spearouotext," getDefaultProguardFile (proguard-android-tối ưu), proguard-rules.pro}}} 3 testImcellenceation Junit: junit: 4.12 androidTestImcellenceation androidx.test.ext: junit: 1.1.0 androidTestImcellenceation androidx.test.espresso: espresso-core: 3.1.1}

Chúng ta hãy xem xét kỹ hơn về từng phần sau:

  • áp dụng plugin. Đây là danh sách các plugin cần thiết để xây dựng mô-đun này. Plugin com.android.application là cần thiết để thiết lập quy trình xây dựng dành riêng cho Android, do đó, phần mềm này được thêm tự động.
  • Android. Đây là nơi bạn nên đặt tất cả các tùy chọn dành riêng cho nền tảng mô-đun.
  • biên dịchSdkVersion. Đây là cấp độ API mà mô-đun này được biên dịch. Bạn không thể sử dụng các tính năng từ API cao hơn giá trị này.
  • buildToolsVersion. Điều này chỉ ra phiên bản của trình biên dịch. Trong Gradle 3.0.0 trở lên, buildToolsVersion là tùy chọn; nếu bạn không chỉ định giá trị buildToolsVersion thì Android Studio sẽ mặc định là phiên bản Công cụ xây dựng mới nhất.
  • defaultConfig. Điều này chứa các tùy chọn sẽ được áp dụng cho tất cả các phiên bản xây dựng của ứng dụng của bạn, chẳng hạn như bản sửa lỗi và bản phát hành.
  • ứng dụng. Đây là định danh duy nhất của ứng dụng của bạn.
  • minSdkVersion. Tham số này xác định mức API thấp nhất mà mô-đun này hỗ trợ.
  • mục tiêuSdkVersion. Đây là cấp API tối đa mà ứng dụng của bạn đã được kiểm tra. Tốt nhất, bạn nên kiểm tra ứng dụng của mình bằng API mới nhất, điều đó có nghĩa là giá trị targetSdkVersion sẽ luôn bằng với giá trị compileSdkVersion.
  • phiên bản Mã. Đây là một giá trị số cho phiên bản ứng dụng của bạn.
  • phiên bản Tên. Đây là một chuỗi thân thiện với người dùng, đại diện cho phiên bản ứng dụng của bạn.
  • buildTypes. Theo mặc định, Android hỗ trợ hai loại bản dựng: gỡ lỗi và phát hành. Bạn có thể sử dụng các khối gỡ lỗi của Wikipedia và các bản phát hành của bản phát hành và để xác định các cài đặt dành riêng cho loại ứng dụng của bạn.
  • phụ thuộc. Đây là nơi bạn sẽ xác định bất kỳ thư viện nào mà mô-đun này phụ thuộc vào.

Khai báo phụ thuộc vào dự án của bạn: Thư viện địa phương

Bạn có thể cung cấp chức năng bổ sung cho các dự án Android của mình bằng cách thêm một hoặc nhiều phụ thuộc dự án. Những phụ thuộc này có thể là cục bộ hoặc chúng có thể được lưu trữ trong một kho lưu trữ từ xa.

Để khai báo một phụ thuộc vào tệp JAR cục bộ, bạn sẽ cần thêm JAR đó vào thư mục của bạn.

Sau đó, bạn có thể sửa đổi tệp build.gradle cấp mô-đun để khai báo một phụ thuộc vào tệp này. Ví dụ, ở đây chúng tôi khai báo một sự phụ thuộc vào JAR thư viện myl thư viện.

tập tin thực hiện (libs / myl Library.jar)

Ngoài ra, nếu thư mục libs của bạn có chứa một số JAR, thì có thể dễ dàng nói rằng dự án của bạn phụ thuộc vào tất cả các tệp nằm trong thư mục lib libs, ví dụ:

tập tin thực hiệnTree (dir: libs, bao gồm :)

Thêm một phụ thuộc xây dựng: Kho lưu trữ từ xa

Nếu một thư viện nằm trong một kho lưu trữ từ xa, thì bạn sẽ cần hoàn thành các bước sau:

  • Xác định kho lưu trữ nơi phụ thuộc này được đặt.
  • Khai báo sự phụ thuộc cá nhân.

Kết nối với kho lưu trữ từ xa

Bước đầu tiên, là cho Gradle biết kho lưu trữ (hoặc kho lưu trữ) nào cần kiểm tra, để lấy tất cả các phụ thuộc dự án của bạn. Ví dụ:

kho lưu trữ {google () jcenter ()}}

Tại đây, dòng jcenter () của Jventer đảm bảo rằng Gradle sẽ kiểm tra kho lưu trữ JCenter, đây là kho lưu trữ công cộng, miễn phí được lưu trữ tại bintray.

Ngoài ra, nếu bạn hoặc tổ chức của bạn duy trì một kho lưu trữ cá nhân, thì bạn nên thêm kho lưu trữ URL URL này vào khai báo phụ thuộc của bạn. Nếu kho lưu trữ được bảo vệ bằng mật khẩu, thì bạn cũng sẽ cần cung cấp thông tin đăng nhập của mình, ví dụ:

kho lưu trữ {mavenCentral () maven {// Định cấu hình URL đích // url "http://repo.mycompany.com/myprivaterepo"} maven {thông tin đăng nhập {tên người dùng mật khẩu myPassword} url "http://repo.mycompany.com / myprivaterepo "}

Nếu một phụ thuộc có mặt trong nhiều kho lưu trữ, thì Gradle sẽ chọn phiên bản tốt nhất của Nether của phụ thuộc này, dựa trên các yếu tố như tuổi của từng kho lưu trữ và phiên bản tĩnh.

Tuyên bố một phụ thuộc từ xa

Bước tiếp theo là khai báo sự phụ thuộc trong tệp build.gradle cấp mô-đun của bạn. Bạn thêm thông tin này vào khối phụ thuộc vào các ứng dụng trên mạng, sử dụng bất kỳ thông tin nào sau đây:

  • Thực hiện. Đây là một phụ thuộc bình thường bạn cần bất cứ khi nào bạn xây dựng dự án của bạn. Một triển khai thực hiện phụ thuộc vào thành phố tất cả các bản dựng của bạn.
  • Chứng thực. Đây là một sự phụ thuộc mà LỚP yêu cầu để biên dịch nguồn thử nghiệm của bạn và chạy các thử nghiệm dựa trên JVM. Khi bạn đánh dấu một sự phụ thuộc là bởi vì Test Test THỰC HÀNH, Grad Gradle sẽ biết rằng nó không phải chạy các nhiệm vụ cho sự phụ thuộc này trong quá trình xây dựng bình thường, điều này có thể giúp giảm thời gian xây dựng.
  • Androidtestim Hiện thực. Đây là một sự phụ thuộc mà LIP yêu cầu khi chạy thử nghiệm trên thiết bị, ví dụ như khung Espresso là một Androidtestim Hiện thực phổ biến.

Chúng tôi xác định một phụ thuộc từ xa, sử dụng một trong các từ khóa ở trên, theo sau là các thuộc tính nhóm, tên và phiên bản phụ thuộc, ví dụ:

phụ thuộc {tệp thực hiệnTree (dir: libs, bao gồm :) triển khai androidx.appcompat: appcompat: 1.0.2 thực hiện androidx.constraintlayout: ràng buộc androidTestImcellenceation androidx.test.espresso: espresso-core: 3.1.1}

Tạo nhiều APK: Cách tạo các biến thể xây dựng

Đôi khi, bạn có thể cần tạo nhiều phiên bản cho ứng dụng của mình. Ví dụ: bạn có thể muốn phát hành phiên bản miễn phí và phiên bản trả phí, bao gồm một số tính năng bổ sung.

Đây là một nhiệm vụ xây dựng mà Gradle có thể giúp bạn, vì vậy, hãy để xem cách bạn sửa đổi quy trình xây dựng để tạo nhiều APK từ một dự án:

  • Mở tệp String.xml của bạn và xóa chuỗi tên ứng dụng ban đầu của bạn.
  • Tiếp theo, xác định tên của từng hương vị sản phẩm mà bạn muốn tạo; trong trường hợp này, tôi sử dụng:

Ứng dụng miễn phí của tôi Ứng dụng trả phí của tôi

  • Mở tệp AndroidManifest.xml của bạn và thay thế android: nhãn = Khăn @ chuỗi / app_name 'bằng:

android: nhãn = "$ {appName}"

  • Mở tệp build.gradle cấp mô-đun của bạn và thêm phần sau vào khối Android android:

Hương vị "chế độ" sản phẩmFlavors {miễn phí {kích thước "chế độ" applicationIdSuffix ".free" manifestPlaceholder =} trả tiền {chế độ "chế độ" applicationIdSuffix ".paid" manifestPlaceholder =}}}

Hãy để những người khác phá vỡ những gì xảy ra ở đây:

  • hương vịDimensions. Plugin Android tạo các biến thể xây dựng bằng cách kết hợp các hương vị từ các kích thước khác nhau. Ở đây, chúng tôi đã tạo ra một chiều hương vị bao gồm các phiên bản miễn phí và miễn phí của ứng dụng của chúng tôi. Dựa trên mã ở trên, Gradle sẽ tạo ra bốn biến thể xây dựng: payDebug, payRelease, freeDebug và freeRelease.
  • sản phẩmFlavors. Cái này chỉ định một danh sách các hương vị và các thiết lập của chúng, mà trong đoạn mã trên là những người được trả tiền và bị phạt.
  • Miễn phí / trả phí. Đây là tên của hai hương vị sản phẩm của chúng tôi.
  • Kích thước. Chúng ta cần xác định một giá trị tham số của chiều trong trường hợp này, tôi xóa bằng cách sử dụng chế độ.
  • applicationIdSuffix. Vì chúng tôi muốn tạo nhiều phiên bản cho ứng dụng của mình, chúng tôi cần cung cấp cho mỗi APK một mã định danh ứng dụng duy nhất.
  • manifestPlaceholder. Mỗi dự án có một tệp Manifest duy nhất chứa thông tin quan trọng về cấu hình dự án của bạn. Khi tạo nhiều biến thể xây dựng, bạn sẽ muốn sửa đổi một số thuộc tính Bản kê khai này tại thời điểm xây dựng. Bạn có thể sử dụng các tệp bản dựng Gradle để chỉ định các mục nhập Bản kê khai duy nhất cho mỗi biến thể bản dựng, sau đó sẽ được chèn vào Bản kê khai của bạn tại thời điểm xây dựng. Trong đoạn mã trên, chúng tôi đã sửa đổi giá trị của ứng dụng trực tuyến, tùy thuộc vào việc Gradle đang xây dựng phiên bản miễn phí hay phiên bản trả phí của ứng dụng.

Tạo một nhiệm vụ Gradle tùy chỉnh

Đôi khi bạn có thể cần tùy chỉnh quá trình xây dựng, sử dụng Gradle nhiệm vụ.

Một tác vụ là một tập hợp các hành động được đặt tên mà Gradle sẽ thực thi khi nó thực hiện một bản dựng, ví dụ như tạo ra một Javadoc. Gradle hỗ trợ nhiều tác vụ theo mặc định, nhưng bạn cũng có thể tạo các tác vụ tùy chỉnh, có thể có ích nếu bạn có một bộ hướng dẫn xây dựng rất cụ thể.

Trong phần này, chúng tôi sẽ tạo ra một nhiệm vụ Gradle tùy chỉnh sẽ lặp qua tất cả các biến thể xây dựng dự án của chúng tôi (payDebug, payRelease, freeDebug và freeRelease), tạo dấu ngày và thời gian, sau đó thêm thông tin này vào mỗi APK được tạo.

Mở tệp build.gradle cấp mô-đun của bạn và thêm vào như sau:

task addDateAndTime () {// Lặp qua tất cả các biến thể xây dựng đầu ra // android.applicationVariants.all {biến thể -> // Lặp qua tất cả các tệp APK // biến.outputs.all {output -> // Tạo một thể hiện của ngày và giờ hiện tại, ở định dạng được chỉ định // def dateAndTime = new Date (). format ("yyyy-MM-dd: HH-mm") // Nối thông tin này vào tên tệp của APK // def fileName = biến thể. tên + "_" + dateAndTime + ".apk" output.outputFileName = fileName}}}

Tiếp theo, chúng ta cần nói với Gradle khi nào cần thực hiện nhiệm vụ này. Trong quá trình xây dựng, Gradle xác định mọi thứ nó cần để tải xuống và tất cả các tác vụ mà nó phải thực hiện và sắp xếp chúng trong Biểu đồ chu kỳ có hướng (DAG). Gradle sau đó sẽ thực hiện tất cả các nhiệm vụ này, theo thứ tự được xác định trong DAG của nó.

Đối với ứng dụng của tôi, tôi sẽ sử dụng phương thức Hồi giáo, khi đảm bảo nhiệm vụ của chúng tôi sẽ được gọi khi DAG đã được tạo và Gradle sẵn sàng bắt đầu thực hiện các nhiệm vụ của mình.

Thêm phần sau vào tệp build.gradle cấp mô-đun của bạn:

// Thực thi tác vụ này // gradle.taskGraph.whenReady {addDateAndTime}

Hãy để đặt nhiệm vụ tùy chỉnh của chúng tôi mã biến thể xây dựng của chúng tôi để kiểm tra, bằng cách xây dựng dự án này bằng lệnh Gradle.

Xây dựng dự án của bạn với trình bao bọc Gradle

Bạn phát lệnh Gradle bằng cách sử dụng trình bao bọc Gradle (kiểu gradlew của). Kịch bản lệnh này là cách ưa thích để bắt đầu xây dựng Gradle, vì nó làm cho việc thực thi bản dựng độc lập với phiên bản Gradle của bạn. Sự tách biệt này có thể hữu ích nếu bạn cộng tác với những người khác có thể không nhất thiết phải cài đặt cùng một phiên bản Gradle.

Khi ban hành các lệnh trình bao bọc Gradle của bạn, bạn sẽ sử dụng lớp gradlew của Google cho các hệ điều hành giống như Unix, bao gồm macOS, và gradlew.bat của Windows cho Windows. Tôi có máy Mac, vì vậy tôi sẽ sử dụng các lệnh grad gradww.

Bạn có thể phát lệnh Gradle từ bên trong Android Studio:

  • Trong thanh công cụ của Android Studio, chọn Chế độ xem Chế độ> Công cụ Windows> Thiết bị đầu cuối. Điều này sẽ mở bảng điều khiển Terminal dọc phía dưới cửa sổ IDE.
  • Nhập lệnh sau vào Terminal:

./gradlew xây dựng

Android Studio sẽ trông giống như thế này:

  • Nhấn phím Enter Enter Enter trên bàn phím của bạn. Gradle bây giờ sẽ xây dựng dự án của bạn.

Gradle lưu trữ tất cả các APK được tạo trong thư mục ứng dụng / xây dựng / đầu ra / apk dự án của bạn, vì vậy hãy điều hướng đến thư mục này. Thư mục APK APK nên chứa một số thư mục và thư mục con; đảm bảo rằng Gradle đã tạo APK cho mỗi biến thể xây dựng của bạn và thông tin ngày giờ chính xác đã được thêm vào mỗi tệp.

Những nhiệm vụ Gradle khác có sẵn là gì?

Ngoài bất kỳ tác vụ tùy chỉnh nào bạn có thể tạo, Gradle hỗ trợ danh sách các tác vụ được xác định trước ngoài hộp. Nếu bạn tò mò muốn xem chính xác những nhiệm vụ có sẵn, thì:

  • Mở cửa sổ Thiết bị đầu cuối Android Studio, nếu nó chưa mở (bằng cách chọn Chế độ xem> Công cụ Windows> Thiết bị đầu cuối từ thanh công cụ Android Studio).
  • Nhập nội dung sau vào Terminal:

./gradlew -q nhiệm vụ

  • Nhấn phím Enter Enter Enter trên bàn phím của bạn.

Nhiệm vụ này của nhiệm vụ này bây giờ sẽ thực hiện, và sau một lát, Terminal sẽ hiển thị danh sách tất cả các nhiệm vụ có sẵn cho dự án này, hoàn thành với một mô tả ngắn về từng nhiệm vụ.

Nhận được nhiều hơn từ Gradle: Thêm plugin

Gradle tàu với một số plugin được cài đặt sẵn, nhưng bạn có thể mở rộng Gradle hơn nữa bằng cách thêm các plugin mới. Các plugin này cung cấp các tác vụ mới cho các dự án Android của bạn, ví dụ: plugin Java bao gồm các tác vụ cho phép bạn biên dịch mã nguồn Java, chạy thử nghiệm đơn vị và tạo một tệp JAR, chẳng hạn như, compileJava,, một cách dễ dàng Jav javadoc, trực tiếp và sạch sẽ.

Để áp dụng một plugin, hãy thêm phần khai báo plugin áp dụng vào ứng dụng của tập tin vào tập tin build.gradle cấp mô-đun, theo sau là tên của plugin. Ví dụ: ở đây chúng tôi áp dụng plugin Java:

áp dụng plugin: java

Nếu bạn tò mò muốn xem plugin nào có sẵn, thì hãy xem tìm kiếm Plugin Gradle, nơi cung cấp đăng ký toàn diện các plugin Gradle.

Lớp DSL của Kotlin

Theo mặc định, bạn sẽ viết các tập lệnh xây dựng Gradle của mình bằng cách sử dụng Groovy DSL, nhưng nếu bạn là một trong số nhiều nhà phát triển đã sử dụng Kotlin để phát triển Android, thì bạn có thể thích viết các tập lệnh xây dựng của mình hơn trong Kotlin.

Không giống như Groovy, Kotlin là ngôn ngữ lập trình được nhập tĩnh, vì vậy nếu bạn thực hiện chuyển đổi thì các tệp xây dựng của bạn sẽ tương thích với tính năng tự động hoàn thành và điều chỉnh mã nguồn của Android Studio. Ngoài ra, việc chuyển từ Groovy sang Kotlin có nghĩa là bạn sẽ sử dụng cùng một ngôn ngữ lập trình trong dự án của mình, điều này có thể giúp cho việc phát triển trở nên đơn giản hơn - đặc biệt là nếu bạn không quá quen thuộc với Groovy!

Nếu bạn muốn bắt đầu viết logic xây dựng của mình trong Kotlin, thì bạn sẽ cần phải thiết lập DSL cấp độ Kotlin và làm theo các hướng dẫn trong hướng dẫn di chuyển.

Gói lại

Trong bài viết này, chúng tôi đã khám phá công cụ quản lý phụ thuộc và tự động hóa xây dựng Android Studio. Chúng tôi đã kiểm tra cách Gradle tự động hóa quy trình xây dựng bên ngoài và cách bạn có thể sửa đổi quy trình xây dựng bằng cách chỉnh sửa các tệp xây dựng dự án của Grad Gradle, bao gồm tạo các tác vụ Gradle tùy chỉnh và tạo nhiều biến thể xây dựng từ một dự án.

Bạn đã mở rộng Gradle để tự động hóa các phần khác của quy trình xây dựng Android chưa? Cho chúng tôi biết trong các ý kiến ​​dưới đây!

Người hâm mộ thiên nhiên không có một tấn ử dụng cho điện thoại di động. Rốt cuộc, điện thoại di động có thể trồng cây, trồng cỏ, hoặc đi bộ đường dài cho bạn....

Podcat dường như đang trở lại như một nguồn thu thập thông tin chính trong thời đại Internet. Đó là một cách tuyệt vời để lắng nghe các chuyên gia nói về c...

Bài ViếT MớI