2015-02-27 15 views
5

Tôi đang xử lý một dự án cho các trường đại học giáo dục, nơi có 5 trường đại học riêng biệtmỗi trường đại học có có ứng dụng riêng nhưng trong mỗi ứng dụng hình ảnh, json khác và mã nguồn hài cốt tương tự . tôi muốn tạo 5 apperperate apks với tên gói khác nhau chỉ sử dụng một mã nguồn và nếu có thay đổi nào được thực hiện trong mã nguồn phải cập nhật trong tất cả các apks.nhiều mục tiêu trong Android Studio

hãy cho tôi cấu trúc dự án, thiết lập công cụ graddle.build và nếu tôi cần tạo thư viện như thế nào và vị trí của nó, hoặc hãy tải mẫu lên để làm chi tiết hơn.

Trả lời

8

Làm theo hướng dẫn dành cho nhà phát triển Android Configuring Gradle Builds Tôi có thể tạo ứng dụng chia sẻ cùng một mã với các tài nguyên khác nhau. Trước tiên, sau khi tạo dự án mới trong Android Studio (Gradle: Android Module), tôi đã thêm vào tệp build.gradle (nằm trong thư mục mô-đun của bạn, như 'Project/app/build.gradle') 'blue' và ' red 'flavor:

android { 
// ... 
    productFlavors { 
     blue { 
      applicationId 'com.example.app.blue' 
      versionName '1.0-blue' 
     } 
     red { 
      applicationId 'com.example.app.red' 
      versionName '1.0-red' 
     } 
    } 
} 

IDE yêu cầu đồng bộ hóa tệp dự án với Gradle, vì vậy tôi đã làm. Sau đó, tôi thêm tập tin tài nguyên colors.xml vào 'đỏ' hương vị bằng cách bấm chuột phải vào thư mục 'ứng dụng' trong thư mục gốc của dự án trong Bảng điều khiển (Mới -> tệp tài nguyên Android, được chọn 'đỏ' làm Nguồn Thiết lập).

Tiếp theo tôi sửa đổi tập tin mới để chứa định nghĩa về tài nguyên màu:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="primary">#ff0000</color> 
</resources> 

tôi đã làm tương tự cho hương vị 'xanh' của tôi (nhưng với giá trị màu khác nhau).

Tôi đã thay đổi màu nền của bố cục hoạt động được tạo tự động trong khi tạo dự án mới để xem nó có hoạt động hay không.

<RelativeLayout 
    ... 
    android:background="@color/primary" /> 

Switching Xây dựng Ngôn ngữ địa phương trong xây dựng biến thể bảng điều khiển (mở bằng tên nút dưới bên trái như vậy) dẫn đến màu nền khác nhau trong hoạt động của tôi.

Tôi giả sử bạn giữ hình ảnh, tệp json và các tệp khác trong thư mục khôi phục Android, vì vậy cách bạn nên giữ các tệp khác nhau ở các hương vị khác nhau giống với những gì tôi đã đạt được.

Xem this trang web để hiểu rõ hơn về hương vị sản phẩm và Xây dựng các biến thể.

+0

cảm ơn bạn, cấu trúc này đang hoạt động tốt –

+0

hi, tôi gặp phải lỗi xây dựng trang web, KHÔNG PHẢI: Xây dựng không thành công với ngoại lệ. * Đã xảy ra sự cố: Thực hiện không thành công cho công việc ': app: processYoga_frenchDebugGoogleServices'. > Không tìm thấy khách hàng phù hợp nào cho tên gói 'com.unders.app.y_v1f' * Thử: Chạy bằng tùy chọn --stacktrace để nhận dấu vết ngăn xếp. Chạy với tùy chọn --info hoặc --debug để có thêm đầu ra nhật ký. – Franck

0

project structure for generating multiple apks using single source set

  • chính là thư mục mẹ có mã nguồn của tôi, res, tài sản.
  • flavour1, flavour2, flavour3 là thư mục con của tôi nơi chúng có hình ảnh khác nhau, json và được đặt như được hiển thị dưới flavour1, tương tự được thực hiện với flavour2, flavour3.

  • sử dụng biến thể xây dựng chọn hương vị cần chạy và gói ứng dụng tương ứng được tạo.

  • bất kỳ tài nguyên nào được đặt bên trong hương vị đều chiếm ưu thế tài nguyên bên trong chính, do đó hình ảnh và localjson của flavour1 đang được phổ biến.

Các vấn đề liên quan