Plugin Gradle của Google được đề xuất cách định cấu hình các tệp lớp của bạn để xây dựng nhiều dự án có một số thiếu sót Nếu bạn có nhiều dự án tùy thuộc vào một dự án thư viện, bài đăng này giải thích ngắn gọn về cấu hình được đề xuất của Google, các thiếu sót của nó và đề xuất một cách khác để định cấu hình các tệp lớp của bạn hỗ trợ thiết lập nhiều dự án trong Android Studio:
Thiết lập đa hướng thay thế cho studio android
Một cách khác :
Hóa ra có một cách tốt hơn để quản lý nhiều dự án trong Android Studio. Mẹo nhỏ là tạo các dự án Android Studio riêng cho các thư viện của bạn và thông báo cho lớp rằng mô-đun cho thư viện mà ứng dụng của bạn phụ thuộc vào nằm trong thư mục dự án của thư viện. Nếu bạn muốn sử dụng phương pháp này với cấu trúc dự án mà tôi đã mô tả ở trên, bạn sẽ làm như sau:
- Tạo một dự án Android Studio cho thư viện DínhListHeaders
- Tạo dự án Android Studio cho App2
- Tạo dự án Android Studio cho App1
- Định cấu hình App1 và App2 để xây dựng các mô-đun trong dự án DínhListHeaders.
Bước thứ 4 là phần khó, vì vậy đó là bước duy nhất tôi sẽ mô tả chi tiết. Bạn có thể tham chiếu các mô-đun bên ngoài vào thư mục dự án của bạn bằng cách thêm một câu lệnh dự án vào tệp settings.gradle và bằng cách đặt thuộc tính projectDir trên đối tượng ProjectDescriptor được trả về bởi câu lệnh dự án đó:
Mã người ta phải đặt vào settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Nếu bạn đã thực hiện điều này một cách chính xác, bạn sẽ nhận thấy rằng các mô-đun được tham chiếu bởi dự án của bạn sẽ hiển thị trong trình điều hướng dự án, ngay cả khi các mô-đun đó nằm ngoài thư mục dự án:
Điều này cho phép bạn làm việc trên mã thư viện và mã ứng dụng đồng thời. Tích hợp kiểm soát phiên bản cũng hoạt động tốt khi bạn tham chiếu các mô-đun bên ngoài theo cách này. Bạn có thể cam kết và đẩy các sửa đổi của mình vào mã thư viện giống như bạn có thể cam kết và đẩy các sửa đổi vào mã ứng dụng của mình.
Cách thiết lập nhiều dự án này sẽ tránh được những khó khăn gây khó khăn cho cấu hình được đề xuất của Google. Bởi vì chúng tôi đang tham chiếu một mô-đun nằm ngoài thư mục dự án, chúng tôi không phải tạo thêm các bản sao của mô-đun thư viện cho mọi ứng dụng phụ thuộc vào nó và chúng tôi có thể phiên bản các thư viện của mình mà không có bất kỳ loại mô hình con nào vô nghĩa.
Thật không may, cách khác để thiết lập nhiều dự án là rất khó tìm. Rõ ràng, đây không phải là thứ bạn sẽ tìm ra khi xem hướng dẫn của Google và tại thời điểm này, không có cách nào để định cấu hình dự án của bạn theo cách này bằng cách sử dụng Giao diện người dùng của Android Studio.