Lỗi không tìm thấy file build trong flatform năm 2024

Ở bài tập 3 các bạn đã biết cách tạo và thực thi một ứng dụng Android, trong bài tập này Tôi sẽ nói một số cách sửa lỗi thường gặp trong quá trình thực thi một ứng dụng Android:

– Bạn nhớ là những lỗi này thường không phải do bạn gây ra mà do Eclipse hoặc một số nguyên nhân nào đó (ta gọi tạm thời là Chương trình bị tưng tưng). Bạn cũng không hiểu vì sao nó lại bị lỗi, nó không cho phép bạn biên dịch và thực thi ứng dụng mặc dù bạn chả làm gì cả?

– Khi bạn gặp những trường hợp khó đỡ như vậy thì hãy làm theo một số cách dưới đây (nếu mà vẫn không được thì bạn có thể sử dụng phần mềm TeamView, cung cấp Id và Password Tôi sẽ login vào máy bạn sửa giùm nếu được):

Giải pháp 1:

– b1) Vào menu Project / chọn Clean :

Lỗi không tìm thấy file build trong flatform năm 2024

– b2) Màn hình Clean hiển thị lên, bạn chọn Project bị báo lỗi và bấm Ok:

Lỗi không tìm thấy file build trong flatform năm 2024

– Ở hình trên, nếu bạn chọn “Clean All Project “, eclipse sẽ clean toàn bộ Project trong Package Explorer.

– Nếu bạn chọn “Clean Projects selected below“, eclipse sẽ clean những Project mà bạn Checked ở bên dưới.

b3) Bạn Unchecked “Build Automatically” và Checked lại “Build Automatically” trong menu Project

Giải pháp 2:

– Bấm chuột phải vào Project / chọn Android Tools / chọn Fix Project Properties:

Lỗi không tìm thấy file build trong flatform năm 2024

Giải pháp 3:

– Khai bạn kéo thả một số tập tin, hình ảnh vào Android Project nó sẽ báo lỗi và không thể tạo ra gen. Bạn hãy kiểm tra xem có phải tên các tập tin đó bị Viết Hoa ký tự đầu hay không, hay tên tập tin bị để khoảng trắng hoặc là có các ký tự không hợp lệ. Bạn chỉ cần sửa lại là hết lỗi

Giải pháp 4:

– Đơn giản là tắt và khởi động lại Eclipse.

Trong bài tập tiếp theo, Tôi sẽ hướng dẫn các bạn hiểu được Vòng Đời của một Ứng dụng Android và đưa ra một số lời khuyên về việc lưu trạng thái cũng như phục hồi trạng thái của ứng dụng.

Bạn có thể thực thi tất cả tác vụ tạo bản dựng (build task) có sẵn cho dự án Android bằng cách sử dụng công cụ dòng lệnh trình bao bọc Gradle (Gradle wrapper). Công cụ này có sẵn dưới dạng tệp xử lý lệnh theo lô (batch file) cho Windows (

gradlew tasks

  1. và tập lệnh shell cho Linux và Mac (

gradlew tasks

1). Bạn có thể truy cập tệp này qua thư mục gốc của mỗi dự án được tạo bằng Android Studio.

Để chạy một tác vụ bằng trình bao bọc này, hãy sử dụng một trong các lệnh sau đây trên cửa sổ dòng lệnh (trong Android Studio, chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > Terminal (Dòng lệnh)):

  • Trên Windows: gradlew task-name
  • Trên Mac hoặc Linux: ./gradlew task-name

Để xem danh sách tất cả tác vụ tạo bản dựng có sẵn cho dự án, hãy thực thi lệnh

gradlew tasks

2:

gradlew tasks

Phần còn lại của trang này sẽ mô tả các khái niệm cơ bản để tạo và chạy ứng dụng bằng trình bao bọc Gradle. Để tìm hiểu thêm về cách thiết lập bản dựng Android, hãy xem phần nội dung Định cấu hình bản dựng.

Nếu muốn sử dụng các công cụ Android Studio thay vì công cụ dòng lệnh, hãy xem phần nội dung Tạo và chạy ứng dụng.

Giới thiệu về các loại bản dựng

Theo mặc định, có hai loại bản dựng có sẵn cho mọi ứng dụng Android: một loại dùng để gỡ lỗi ứng dụng – bản gỡ lỗi – và một loại dùng để phát hành ứng dụng cho người dùng – bản phát hành. Kết quả đầu ra cho mỗi bản dựng phải được ký bằng một chứng chỉ trước khi triển khai ứng dụng trên một thiết bị. Bản gỡ lỗi được ký tự động bằng một khoá gỡ lỗi do các công cụ SDK cung cấp (khoá này không an toàn và bạn không thể phát hành bằng khoá này lên Cửa hàng Google Play). Bản phát hành phải được ký bằng khoá riêng tư của chính bạn.

Nếu muốn tạo ứng dụng cho bản phát hành, bạn cũng cần bằng khoá ký (signing key) thích hợp. Tuy nhiên, nếu chỉ mới bắt đầu, bạn có thể nhanh chóng chạy các ứng dụng của mình trên một trình mô phỏng hoặc thiết bị được kết nối bằng cách .

Bạn cũng có thể định nghĩa loại bản dựng tuỳ chỉnh trong tệp

gradlew tasks

3 và định cấu hình loại bản dựng này để được ký ở dạng bản gỡ lỗi bằng cách thêm vào

gradlew tasks

4. Để tìm hiểu thêm thông tin, hãy xem phần nội dung Định cấu hình biến thể bản dựng.

Tạo và triển khai tệp APK

Mặc dù là cách tốt nhất để đóng gói ứng dụng và tải lên Play Console, việc tạo một tệp APK sẽ phù hợp hơn khi bạn muốn nhanh chóng kiểm thử bản gỡ lỗi hoặc chia sẻ ứng dụng cho người khác dưới dạng một cấu phần triển khai phần mềm.

Tạo tệp APK gỡ lỗi

Để kiểm thử và gỡ lỗi ứng dụng tức thì, bạn có thể tạo tệp APK gỡ lỗi. Tệp APK gỡ lỗi được ký bằng một khoá gỡ lỗi do các công cụ SDK cung cấp và cho phép gỡ lỗi thông qua

gradlew tasks

5.

Để tạo một tệp APK gỡ lỗi, hãy mở công cụ dòng lệnh và chuyển đến thư mục gốc của dự án. Để khởi tạo bản gỡ lỗi, hãy gọi tác vụ

gradlew tasks

6:

gradlew assembleDebug

Thao tác này sẽ tạo ra một tệp APK có tên là

gradlew tasks

7 trong

gradlew tasks

8. Tệp này đã được ký bằng khoá gỡ lỗi và được điều chỉnh bằng

gradlew tasks

9. Nhờ vậy, bạn có thể cài đặt ngay tệp này trên một thiết bị.

Hoặc để tạo tệp APK này và cài đặt ngay trên một trình mô phỏng hoặc thiết bị được kết nối đang chạy, hãy gọi

gradlew assembleDebug

0:

gradlew installDebug

Phần "Debug" trong tên của tác vụ ở trên chỉ là phiên bản viết tắt theo quy ước camel của tên biến thể bản dựng, vì vậy, bạn có thể thay thế phần này bằng bất kỳ loại bản dựng hoặc biến thể nào mà bạn muốn kết hợp hoặc cài đặt. Ví dụ: nếu bạn có phiên bản sản phẩm "demo" thì bạn có thể tạo phiên bản gỡ lỗi với tác vụ là

gradlew assembleDebug

1.

Để xem tất cả tác vụ tạo và cài đặt có sẵn cho từng biến thể (bao gồm tác vụ gỡ cài đặt), hãy chạy tác vụ

gradlew tasks

2.

Ngoài ra, hãy xem phần nội dung về cách và .

Tạo gói phát hành hoặc tệp APK

Khi đã sẵn sàng phát hành và phân phối ứng dụng, bạn phải tạo một gói phát hành hoặc tệp APK được ký bằng khoá riêng tư của bạn. Để tìm hiểu thêm thông tin, hãy chuyển đến phần nội dung về cách .

Triển khai ứng dụng trên trình mô phỏng

Để sử dụng Trình mô phỏng Android, bạn phải bằng Android Studio.

Khi đã có AVD, bạn hãy khởi động Trình mô phỏng Android và cài đặt ứng dụng như sau:

  1. Trong công cụ dòng lệnh, hãy chuyển đến gradlew assembleDebug 3 và khởi động trình mô phỏng bằng lệnh khai báo AVD: emulator -avd avd_name Nếu bạn không chắc chắn về tên AVD, hãy thực thi lệnh gradlew assembleDebug 4.
  2. Bây giờ, bạn có thể cài đặt ứng dụng bằng một trong những thao tác cài đặt Gradle đã đề cập trong phần nội dung về cách hoặc công cụ gradlew assembleDebug
  3. Nếu tệp APK được tạo bằng cách sử dụng SDK dùng thử dành cho nhà phát triển (nếu gradlew assembleDebug 6 là một chữ cái thay vì chữ số), bạn phải cung cấp tuỳ chọn cùng lệnh gradlew assembleDebug 8 để cài đặt tệp APK kiểm thử. adb install path/to/your_app.apk Toàn bộ tệp APK bạn xây dựng đều được lưu trong gradlew tasks 8.

Để tìm hiểu thêm thông tin, hãy xem phần nội dung Chạy ứng dụng trên Trình mô phỏng Android.

Triển khai ứng dụng trên một thiết bị thực tế

Trước khi chạy ứng dụng trên một thiết bị, bạn phải bật tính năng gỡ lỗi USB trên thiết bị. Bạn có thể tìm thấy tuỳ chọn này trong phần Settings (Cài đặt) > Developer options (Tuỳ chọn cho nhà phát triển).

Lưu ý: Trên Android 4.2 trở lên, Developer options (Tuỳ chọn cho nhà phát triển) sẽ bị ẩn theo mặc định. Để mở giao diện này, hãy chuyển đến phần Settings (Cài đặt) > About phone (Giới thiệu về điện thoại) rồi nhấn vào Build number (Số bản dựng) bảy lần. Quay lại màn hình trước để tìm Developer options (Tuỳ chọn cho nhà phát triển).

Sau khi thiết lập và kết nối thiết bị qua USB, bạn có thể cài đặt ứng dụng bằng cách sử dụng tác vụ cài đặt Gradle được đề cập trong phần nội dung về cách hoặc công cụ

gradlew assembleDebug

5:

adb -d install path/to/your_app.apk

Toàn bộ tệp APK bạn xây dựng đều được lưu trong

gradlew tasks

8.

Để tìm hiểu thêm thông tin, hãy xem phần nội dung Chạy ứng dụng trên thiết bị phần cứng.

Tạo gói ứng dụng

Android App Bundle chứa tất cả tài nguyên và mã đã biên dịch của ứng dụng, nhưng lại làm chậm quá trình tạo tệp APK và đăng nhập vào Google Play. Không giống APK, bạn không thể triển khai gói ứng dụng trực tiếp trên thiết bị. Vì vậy, nếu muốn nhanh chóng kiểm thử hoặc chia sẻ tệp APK với người khác, bạn nên .

Cách dễ nhất để tạo gói ứng dụng là . Tuy nhiên, nếu cần tạo gói ứng dụng bằng dòng lệnh, bạn có thể thực hiện bằng cách sử dụng Gradle hoặc

gradlew installDebug

2, như mô tả trong các phần bên dưới.

Tạo gói ứng dụng bằng Gradle

Nếu bạn muốn tạo một gói ứng dụng bằng dòng lệnh, hãy chạy tác vụ Gradle

gradlew installDebug

3 trên mô-đun cơ sở của ứng dụng đó. Ví dụ: lệnh sau đây tạo một gói ứng dụng cho phiên bản gỡ lỗi của mô-đun cơ sở:

./gradlew :base:bundleDebug

Nếu muốn tạo một gói đã ký tên để tải lên Play Console, trước tiên, bạn cần định cấu hình tệp

gradlew tasks

3 của mô-đun cơ sở với thông tin chữ ký của ứng dụng. Để tìm hiểu thêm, hãy chuyển đến phần nội dung về cách . Chẳng hạn, bạn có thể tạo phiên bản phát hành của ứng dụng và Gradle sẽ tự động tạo một gói ứng dụng và ký gói ứng dụng đó bằng thông tin chữ ký bạn cung cấp trong tệp

gradlew tasks

3.

Ngược lại, nếu bạn muốn ký một gói ứng dụng bằng một bước riêng biệt, bạn có thể sử dụng

gradlew installDebug

6 để ký gói ứng dụng bằng dòng lệnh.

Tạo gói ứng dụng bằng bundletool

gradlew installDebug

2 là công cụ dòng lệnh được Android Studio, trình bổ trợ Android cho Gradle và Google Play dùng để chuyển đổi mã và tài nguyên đã biên dịch của ứng dụng thành các gói ứng dụng, đồng thời tạo ra các tệp APK có thể triển khai qua các gói đó.

Như vậy, việc kiểm thử các gói ứng dụng bằng

gradlew installDebug

2 và tái tạo trong phạm vi cục bộ về cách Google Play tạo các tệp APK mang lại nhiều giá trị hữu ích. Tuy nhiên, thông thường, bạn không cần gọi

gradlew installDebug

2 để tạo gói ứng dụng, thay vào đó, bạn nên sử dụng các tác vụ Android Studio hoặc Gradle như đã mô tả trong các phần trước.

Mặc dù vậy, nếu bạn không muốn sử dụng các tác vụ Android Studio hoặc Gradle để tạo các gói, chẳng hạn như bạn muốn sử dụng chuỗi công cụ tạo bản dựng tuỳ chỉnh, bạn có thể sử dụng

gradlew installDebug

2 bằng dòng lệnh để tạo một gói ứng dụng qua mã và tài nguyên được biên dịch sẵn. Nếu bạn chưa làm điều đó, hãy tải

gradlew installDebug

2 xuống qua kho lưu trữ GitHub.

Phần này mô tả cách đóng gói tài nguyên và mã đã biên dịch của ứng dụng cũng như cách sử dụng

gradlew installDebug

2 bằng dòng lệnh để chuyển đổi mã và tài nguyên này thành Android App Bundle.

Tạo tệp kê khai và tài nguyên ở định dạng proto

gradlew installDebug

2 yêu cầu bạn cung cấp một số thông tin nhất định về dự án ứng dụng, chẳng hạn như tệp kê khai và tài nguyên của ứng dụng, ở định dạng Vùng đệm giao thức của Google – còn được gọi là "protobuf" và sử dụng đuôi tệp là

emulator -avd avd_name

4. Protobuf cung cấp một cơ chế trung lập về ngôn ngữ, trung lập về nền tảng và có thể mở rộng, giúp chuyển đổi tuần tự dữ liệu có cấu trúc — tương tự như XML, nhưng nhỏ gọn hơn, nhanh hơn và đơn giản hơn.

Tải AAPT2 xuống

Bạn có thể tạo tệp kê khai và bảng tài nguyên của ứng dụng ở định dạng protobuf bằng cách sử dụng phiên bản AAPT2 mới nhất trên .

Để tải AAPT2 xuống qua kho lưu trữ Maven của Google, hãy tiến hành các bước sau:

  1. Chuyển đến com.android.tools.build > aapt2 trong phần chỉ mục kho lưu trữ.
  2. Sao chép tên của phiên bản AAPT2 mới nhất.
  3. Chèn tên phiên bản bạn vừa sao chép vào URL sau và chỉ định hệ điều hành đích: https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/aapt2-version/aapt2-aapt2-version-[windows | linux | osx].jar Ví dụ: để tải phiên bản 3.2.0-alpha18-4804415 cho Windows, bạn hãy sử dụng: https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.0-alpha18-4804415/aapt2-3.2.0-alpha18-4804415-windows.jar
  4. Di chuyển đến URL trong trình duyệt—AAPT2 sẽ bắt đầu tải xuống trong chốc lát.
  5. Mở gói tệp JAR bạn vừa tải xuống.
Biên dịch và liên kết với tài nguyên của ứng dụng

Sử dụng AAPT2 để biên dịch tài nguyên trong ứng dụng bằng lệnh sau:

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

Trong giai đoạn liên kết, là giai đoạn AAPT2 liên kết các tài nguyên đã biên dịch khác nhau thành một APK duy nhất, hãy hướng dẫn AAPT2 chuyển đổi tệp kê khai của ứng dụng và các tài nguyên đã biên dịch thành định dạng protobuf thông qua cờ

emulator -avd avd_name

5 như bên dưới:

./gradlew task-name

0

Sau đó, bạn có thể trích xuất nội dung từ kết quả đầu ra của tệp APK, chẳng hạn như

emulator -avd avd_name

6,

emulator -avd avd_name

7 và các tệp tài nguyên khác của ứng dụng — hiện tại đang ở định dạng protobuf. Bạn cần các tệp này trong quá trình chuẩn bị các yêu cầu đầu vào cho

gradlew installDebug

2 để tạo gói ứng dụng, như mô tả trong phần sau.

Đóng gói tài nguyên và mã được biên dịch sẵn

Trước khi sử dụng

gradlew installDebug

2 để tạo gói ứng dụng, trước tiên bạn phải cung cấp các tệp ZIP, mỗi tệp chứa mã và tài nguyên đã biên dịch cho một mô-đun ứng dụng có sẵn. Nội dung và cách sắp xếp tệp ZIP trong từng mô-đun rất giống với . Ví dụ: bạn nên tạo tệp

adb install path/to/your_app.apk

0 cho mô-đun cơ sở của ứng dụng và sắp xếp nội dung của mô-đun này như sau:

Tệp hoặc thư mục Mô tả

adb install path/to/your_app.apk

1 Tệp kê khai của mô-đun ở định dạng protobuf.

adb install path/to/your_app.apk

2 Thư mục chứa một hoặc nhiều tệp DEX được biên dịch của ứng dụng. Bạn nên đặt tên cho các tệp này như sau:

adb install path/to/your_app.apk

3,

adb install path/to/your_app.apk

4,

adb install path/to/your_app.apk

5, v.v.

adb install path/to/your_app.apk

6 Chứa tài nguyên của mô-đun ở định dạng protobuf cho tất cả cấu hình thiết bị. Các thư mục con và tệp nên được sắp xếp tương tự như trong một APK thông thường.

adb install path/to/your_app.apk

7,

adb install path/to/your_app.apk

8 và

adb install path/to/your_app.apk

9 Các thư mục này giống hệt với các thư mục được mô tả trong phần nội dung về .

emulator -avd avd_name

7 Bảng tài nguyên của ứng dụng ở định dạng protobuf.

Sau khi chuẩn bị tệp ZIP cho từng mô-đun của ứng dụng, bạn có thể chuyển các tệp đó đến

gradlew installDebug

2 để tạo gói ứng dụng, như được mô tả trong phần sau.

Tạo gói ứng dụng bằng bundletool

Để tạo gói ứng dụng, bạn hãy sử dụng lệnh

adb -d install path/to/your_app.apk

2 như trình bày dưới đây:

./gradlew task-name

1

Bảng sau đây mô tả chi tiết về các cờ cho lệnh

adb -d install path/to/your_app.apk

3:

Cờ Mô tả

adb -d install path/to/your_app.apk

4 Chỉ định danh sách các tệp ZIP của mô-đun

gradlew installDebug

2 dùng để tạo gói ứng dụng.

adb -d install path/to/your_app.apk

6 Chỉ định đường dẫn và tên tệp cho tệp đầu ra

adb -d install path/to/your_app.apk

7.

adb -d install path/to/your_app.apk

8 Chỉ định đường dẫn đến một tệp cấu hình tuỳ chọn, được dùng để tuỳ chỉnh quy trình tạo bản dựng. Để tìm hiểu thêm, hãy xem phần nội dung về .

adb -d install path/to/your_app.apk

9 Hướng dẫn

gradlew installDebug

2 đóng gói một tệp siêu dữ liệu tuỳ chọn trong gói ứng dụng. Bạn có thể dùng tệp này để chứa dữ liệu, chẳng hạn như ánh xạ ProGuard hoặc danh sách đầy đủ các tệp DEX của ứng dụng. Tệp siêu dữ liệu này có thể sẽ rất hữu ích cho các bước khác trong chuỗi công cụ (toolchain) hoặc cửa hàng ứng dụng của bạn.

target-bundle-path chỉ định một đường dẫn tương ứng với thư mục gốc của gói ứng dụng mà bạn muốn đóng gói tệp siêu dữ liệu. local-file-path chỉ định đường dẫn đến chính tệp siêu dữ liệu cục bộ này.

Tuỳ chỉnh cách tạo tệp APK theo chiều xuôi (downstream)

Gói ứng dụng sẽ bao gồm một tệp

./gradlew :base:bundleDebug

1 dùng để cung cấp siêu dữ liệu theo yêu cầu của cửa hàng ứng dụng, chẳng hạn như Google Play, khi tạo tệp APK từ gói đó. Mặc dù

gradlew installDebug

2 sẽ tạo tệp này cho bạn, nhưng bạn có thể định cấu hình một số thành phần của siêu dữ liệu trong tệp

./gradlew :base:bundleDebug

3 và chuyển tệp này vào lệnh

adb -d install path/to/your_app.apk

2 — sau đó

gradlew installDebug

2 sẽ chuyển đổi và sẽ hợp nhất tệp này với phiên bản protobuf chứa trong mỗi gói ứng dụng.

Ví dụ: bạn có thể kiểm soát để bật hoặc tắt các danh mục trong tệp APK cấu hình. Sau đây là ví dụ về tệp

./gradlew :base:bundleDebug

3 dùng để vô hiệu hoá các APK cấu hình, trong đó mỗi APK hướng đến một ngôn ngữ khác nhau (tức là tài nguyên cho tất cả ngôn ngữ được chứa trong APK cơ sở hoặc chức năng tương ứng):

./gradlew task-name

2

Trong tệp

./gradlew :base:bundleDebug

3, bạn cũng có thể chỉ định loại tệp nào không cần nén khi đóng gói APK thông qua như sau:

./gradlew task-name

3

Lưu ý rằng theo mặc định,

gradlew installDebug

2 không nén thư viện gốc (trên Android 6.0 trở lên) và bảng tài nguyên (

./gradlew :base:bundleDebug

  1. của ứng dụng. Để xem mô tả đầy đủ về những nội dung bạn có thể định cấu hình trong

./gradlew :base:bundleDebug

3, hãy kiểm tra tệp

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

1

gradlew installDebug

2, được viết bằng cú pháp Proto3.

Triển khai ứng dụng bằng một gói ứng dụng

Nếu bạn đã tạo và ký gói ứng dụng, hãy sử dụng

gradlew installDebug

2 để tạo APK và triển khai các APK đó trên một thiết bị.

Ký ứng dụng bằng dòng lệnh

Bạn không cần Android Studio để ký ứng dụng. Thay vào đó, bạn có thể ký ứng dụng bằng dòng lệnh, sử dụng

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

4 cho APK hoặc

gradlew installDebug

6 cho gói ứng dụng hoặc định cấu hình Gradle để ký ứng dụng trong quá trình xây dựng. Dù với cách nào, trước hết bạn cần tạo khoá riêng tư thông qua

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

6, như minh hoạ bên dưới:

./gradlew task-name

4

Ví dụ trên sẽ nhắc bạn mật khẩu cho kho khoá và khoá, cũng như các trường "Distinguished Name" (Tên phân biệt) cho khoá của bạn. Đoạn lệnh này sau đó sẽ tạo kho khoá dưới dạng một tệp có tên là

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

7, lưu tệp đó trong thư mục hiện tại (bạn có thể chuyển tệp này đến bất cứ đâu). Kho khoá này chứa một khoá duy nhất có hiệu lực trong 10.000 ngày.

Bây giờ, bạn có thể tự ký APK hoặc gói ứng dụng hoặc định cấu hình Gradle để ký ứng dụng trong quá trình tạo bản dựng, như mô tả trong các phần bên dưới.

Ký ứng dụng theo cách thủ công bằng dòng lệnh

Nếu muốn ký một gói ứng dụng bằng dòng lệnh, bạn có thể sử dụng

gradlew installDebug

6. Nếu muốn ký APK, bạn cần sử dụng

gradlew tasks

9 và

aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/

4 như mô tả bên dưới.

  1. Mở công cụ dòng lệnh trong Android Studio, chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > Terminal (Dòng lệnh) – rồi chuyển đến thư mục chứa APK chưa được ký.
  2. Căn chỉnh APK chưa được ký bằng ./gradlew task-name 01: ./gradlew task-name 5 gradlew tasks 9 đảm bảo rằng tất cả dữ liệu chưa nén đều được bắt đầu bằng một byte đặc thù phù hợp với phần đầu tệp. Điều này sẽ giúp giảm dung lượng RAM mà ứng dụng sử dụng.
  3. Ký APK bằng khoá riêng tư của bạn thông qua aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/ 4: ./gradlew task-name 6 Ví dụ này sẽ xuất ra APK đã ký tại ./gradlew task-name 04 sau khi ký APK này bằng khoá riêng tư và chứng chỉ được lưu trữ trong một tệp KeyStore duy nhất: aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/
  4. Công cụ aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/ 4 hỗ trợ các tuỳ chọn ký tên khác, bao gồm cả việc ký tệp APK bằng khoá riêng tư và tệp chứng chỉ riêng biệt, cũng như ký APK bằng nhiều trình ký. Để biết thêm chi tiết, hãy tham khảo aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/
  5. Lưu ý: Để sử dụng công cụ aapt2 compile \ project_root/module_root/src/main/res/drawable/Image1.png \ project_root/module_root/src/main/res/drawable/Image2.png \ -o compiled_resources/ 4, bạn phải cài đặt Công cụ tạo SDK Android phiên bản 24.0.3 trở lên. Bạn có thể cập nhật gói này thông qua .
  6. Xác minh APK đã được ký hay chưa: ./gradlew task-name 7

Định cấu hình Gradle để ký ứng dụng

Mở tệp

gradlew tasks

3 cấp mô-đun và thêm khối

./gradlew task-name

10 chứa các mục nhập cho

./gradlew task-name

11,

./gradlew task-name

12,

./gradlew task-name

13 và

./gradlew task-name

14. Sau đó chuyển đối tượng đó đến thuộc tính

./gradlew task-name

15 trong loại bản dựng. Ví dụ:

Groovy

./gradlew task-name

8

Kotlin

./gradlew task-name

9

Bây giờ, khi tạo ứng dụng bằng cách gọi đến một tác vụ Gradle, Gradle sẽ giúp bạn ký ứng dụng (và chạy zipalign).

Ngoài ra, vì bạn đã định cấu hình bản phát hành bằng ký khoá, tác vụ "install" (cài đặt) sẽ có sẵn cho loại bản dựng đó. Vì vậy, bạn có thể tạo, căn chỉnh, ký ứng dụng và cài đặt APK phát hành trên một trình mô phỏng hoặc thiết bị bằng tác vụ

./gradlew task-name

16.

Một ứng dụng được ký bằng khoá riêng tư đã sẵn sàng để phân phối, nhưng trước hết bạn nên tìm hiểu thêm về cách phát hành ứng dụng và xem lại danh sách kiểm tra trước khi phát hành trên Google Play.