Các dự án Android chứa nhiều tệp và cấu trúc thư mục liên quan đến bản dựng để sắp xếp nguồn và tài nguyên ứng dụng. Trước khi tìm hiểu chi tiết cấu hình, chúng ta sẽ xem xét cấu trúc tổng thể và các khái niệm cơ bản thuộc về những gì thuộc từng phần.
Bảng này liệt kê các tệp điển hình trong một dự án Android. Mô tả của từng tệp hoặc thư mục bao gồm các ghi chú về loại nội dung thuộc loại nào. Tốt nhất thực tiễn phát triển theo thời gian và những nội dung mô tả này có thể không phù hợp với dự án mà bạn đã kế thừa hoặc tải xuống từ Internet.
Khi viết các tệp bản dựng, hãy sử dụng phương pháp khai báo; logic và nhiệm vụ tạo bản dựng định nghĩa chỉ nên xuất hiện trong trình bổ trợ. Bằng cách giới hạn logic bản dựng ở các trình bổ trợ, tệp bản dựng trở thành nội dung khai báo dữ liệu, giúp bạn dễ dàng nắm được và chỉnh sửa video. Các phiên bản trong tương lai có thể bao gồm thông số kỹ thuật thay thế, chẳng hạn như Gradle khai báo, sẽ ngăn chặn logic bản dựng trong phần tử tệp.
Thư mục/Tệp |
Mục đích sử dụng |
---|---|
.gradle/ |
Thư mục bộ nhớ đệm của dự án Gradle Do Gradle quản lý và chứa bản phân phối Gradle, bộ nhớ đệm dự án và các tệp cấu hình đã tải xuống. Không thay đổi các tệp trong thư mục này! |
.idea/ |
Siêu dữ liệu dự án trong Android Studio Không thay đổi các tệp trong thư mục này! |
build.gradle(.kts) |
Chỉ nên chứa các nội dung khai báo trình bổ trợ để thiết lập một đường dẫn lớp trình bổ trợ chung trên các dự án phụ. Mã khác phải nằm trong phần cài đặt hoặc tệp bản dựng cấp dự án lồng nhau. |
gradle.properties |
Chứa các thuộc tính Gradle, kiểm soát các khía cạnh môi trường xây dựng Gradle, chẳng hạn như kích thước vùng nhớ khối xếp, chức năng lưu vào bộ nhớ đệm và thực thi song song. Một số thuộc tính Android tạm thời được định nghĩa tại đây để giảm các thay đổi đối với AGP DSL khi các thuộc tính này được thêm vào và sau đó bị xoá. |
gradlew (linux, Mac) gradlew.bat (Windows) |
Tệp trình bao bọc Gradle Tự khởi động bản dựng của bạn bằng cách tải bản phân phối Gradle xuống, sau đó chuyển tiếp các lệnh tới bản dựng đó. Việc này cho phép bạn chạy các bản dựng mà không cần cài đặt sẵn Gradle. |
local.properties |
Cấu hình máy cục bộ Chứa các thuộc tính liên quan đến máy cục bộ, chẳng hạn như vị trí của SDK Android. Hãy loại trừ tệp này khỏi chế độ kiểm soát nguồn! |
settings.gradle(.kts) |
Chứa thông tin bản dựng chung để khởi chạy Gradle và cấu hình dự án, chẳng hạn như
|
gradle/ |
|
↳ libs.versions.toml |
Xác định biến cho các phần phụ thuộc và trình bổ trợ dùng bên trong bản dựng. Bạn chỉ định các phiên bản mình muốn sử dụng tại đây nhằm đảm bảo tính nhất quán giữa tất cả các dự án phụ trong dự án. |
↳ trình bao bọc/ |
|
↳ gradle-wrapper.jar |
Quy trình khởi động Gradle có thể thực thi Tải bản phân phối Gradle được chỉ định xuống (nếu chưa có) rồi chạy phân phối đó, truyền bất kỳ đối số nào |
↳ gradle-wrapper.properties |
Cấu hình cho trình bao bọc Gradle Chỉ định nơi tải bản phân phối Gradle xuống (bao gồm cả phiên bản sẽ sử dụng). |
ứng dụng/ |
Các dự án phụ (còn gọi là "mô-đun" trong Android Studio) có thể xây dựng các ứng dụng hoặc thư viện và có thể phụ thuộc vào các dự án phụ khác hoặc các phần phụ thuộc bên ngoài.
|
↳ build.gradle(.kts) |
Khai báo cách xây dựng dự án phụ này. Mỗi dự án phụ cần một tệp bản dựng riêng và phải chứa
Bạn không nên đưa logic bản dựng (chẳng hạn như định nghĩa hoặc điều kiện của hàm Kotlin) hoặc khai báo tác vụ vào tệp bản dựng. Logic bản dựng và nhiệm vụ chỉ nên được chứa bên trong trình bổ trợ. |
↳ src/ |
Tệp nguồn dự án phụ Nhóm các tệp nguồn (mã ứng dụng và tài nguyên) thành nhóm tài nguyên. Nhóm tài nguyên |
↳ chính/ |
Nhóm tài nguyên chính Mã nguồn và tài nguyên phổ biến trên tất cả các biến thể bản dựng. Nguồn này đóng vai trò là cơ sở cho tất cả bản dựng và các nhóm tài nguyên cụ thể khác sẽ thêm vào hoặc ghi đè nguồn này. |
↳ java/ ↳ kotlin/ |
Mã nguồn Kotlin và Java Thư mục |
↳ res/ |
Chứa các tài nguyên ứng dụng, chẳng hạn như hình ảnh và tệp XML. Tất cả ứng dụng đều sử dụng một số tài nguyên cơ bản, chẳng hạn như biểu tượng trình chạy, nhưng nhiều tài nguyên trong số này (chẳng hạn như bố cục và trình đơn) chỉ được dùng trong các ứng dụng dựa trên khung hiển thị. Ứng dụng Compose sử dụng các tài nguyên Chuỗi được xác định trong thư mục này. |
↳ AndroidManifest.xml |
Siêu dữ liệu của ứng dụng Android Trình quản lý gói Android đọc để thông báo cho hệ thống
|
↳ androidTest/ |
Nhóm tài nguyên Kiểm thử thiết bị Chứa nguồn cho các chương trình kiểm thử sẽ chạy trên một thiết bị hoặc trình mô phỏng chạy Android. Các chương trình kiểm thử này có quyền truy cập vào một môi trường Android thực tế, nhưng thực thi chậm hơn so với các chương trình kiểm thử trên máy chủ lưu trữ. |
↳ thử nghiệm/ |
Nhóm tài nguyên thử nghiệm trên máy chủ Chứa nguồn cho các chương trình kiểm thử chạy cục bộ trong máy ảo JVM, trái ngược với các chương trình kiểm thử chạy trên thiết bị. Các bài kiểm thử này chạy nhanh hơn nhiều so với kiểm thử thiết bị. Tuy nhiên, mọi lệnh gọi hệ thống (bao gồm cả vòng đời chạy ứng dụng) đều phải được mô phỏng, làm giả, loại bỏ hoặc mô phỏng theo cách khác. Tất cả các tệp nguồn trong nhóm tài nguyên |
↳ proguard-rules.pro |
Xác định các quy tắc để kiểm soát việc rút gọn, tối ưu hoá và làm rối mã nguồn ứng dụng. R8 loại bỏ mã và tài nguyên không cần thiết, tối ưu hoá hiệu suất trong thời gian chạy và giảm thiểu mã hơn nữa bằng cách đổi tên giá trị nhận dạng. |