Gradle trong Android Studio

Nếu đã từng xây dựng ứng dụng trên nền tảng Android thì hẳn chúng ta đã từng làm việc với file build.gradle, vậy Gradle là gì? Chúng ta sẽ cùng nhau tìm hiểu các khái niệm cơ bản để hiểu hơn về nó.

Gradle làm gì trong một project Android?

Gradle là một công cụ giúp ta biên dịch code, testing, deployment và chuyển code vào trong tập tin .dex và sau đó là chạy ứng dụng trên thiết bị Android.

Gralde đã được tích hợp sẵn vào trong iDE Android Studio nên chúng ta sẽ không cần phải quan tâm đến việc cài đặt để sử dụng. Khi ta bấm nút Run trong Android Studio một gradle task sẽ chạy và nó bắt đầu công việc build project, khi công việc hoàn thành ứng dụng sẽ được khởi động trên thiết bị Android vật lý hoặc máy ảo.

Công việc mà Gradle làm không phải là công việc giống như trình biên dịch (compiler) hay linker làm, mà Gradle chịu trách nhiệm kiểm soát và giám sát quá trình biên dịch, kết hợp các tập tin, chạy các test cases và cuối cùng là đóng gói toàn bộ code thành một tập tin apk.

Khi khởi tạo một project Android mới sẽ luôn có hai file build.gradle được sinh ra, một file là của tầng ứng dụng và một file là của tầng project.

Dưới đây là biểu đồ mô tả hoạt động khi task gradle build thực thi

Trong quá trình thực thi trình biên dịch sẽ lấy toàn bộ source code, các resources, các thư viện JAR được thêm vào và file AndroidManifest.xml. Toàn bộ sẽ được trình biên dịch chuyển thành file .dex (Dalvik Executable files), nó bao gồm cả bytecode. Mã bytecode sẽ giúp cho các thiết bị Android có thể chạy được ứng dụng. Sau đó APK Manager sẽ gộp các tập tin .dex và các resources khác lại thành một file apk. Tiếp đó APK Packager sẽ đánh dấu xem file apk được build là file debug hay release tương ứng với keystore được sử dụng.

File apk Debug được dùng cho việc testing và nó chủ yếu được build trong quá trình xây dựng ứng dụng. Khi việc xây dựng hoàn thành và ứng dụng đã sẵn sàng để phát hành cho người sử dụng thì tập tin Release apk với một release keystore sẽ được tạo ra.

Một vài file gradle quan trọng trong project android

setting.gradle: Đây là tập tin chứa tất cả các khai báo về các module được sử dụng trong ứng dụng.

build.gradle (project level): Tập tin này chứa các cấu hình mà sẽ được áp dụng trên toàn bộ các module trong project android.

build.gradle (application level): Mỗi module trong project sẽ có một file build.gradle, tập tin này sẽ chứa tên của package cũng như applicationID, tên phiên bản ứng dụng, mã phiên bản ứng dụng, phiên bản SDK được sử dụng trong module. Khi ta sử dụng các thư viện ta cũng cần thêm các khai báo sử dụng tương ứng trong build.gradle.

Chúng ta có thể chạy một vài câu lệnh của gradle trong cửa sổ dòng lệnh từ thử mục của project để thực thi các thao tác tương ứng:

  • ./gradlew build – Thực hiện build project
  • ./ gradle :[tên module]:bundleDebug – Build file trên môi trường debug

1 Comment

  1. Cài đặt và sử dụng libGDX - Papa Pip

    February 15, 2023 at 6:56 pm

    […] Trong cấu trúc trên ta nhìn thấy gradle xuất hiện rất nhiều lần. Vậy gralde có vai trò gì trong một project được tạo ra bởi libGdx. Tổng quan thì gradle là một công cụ dùng để build tự động mã nguồn mở. Để hiểu thêm về gradle ta có thể đọc bài viết Gradle trong Android Studio. […]

Leave a Reply

Your email address will not be published. Required fields are marked *