Tôi đang tạo ứng dụng sử dụng thư viện Android làm nguồn chính. Sau đó, tôi có nhiều ứng dụng sử dụng thư viện đó; các ứng dụng này sẽ có cùng mã, nhưng các trường cấu hình khác nhau, chẳng hạn như điểm cuối và như vậy.Ghi đè xây dựng thư việnConfigFields trong ứng dụng
Để thực hiện điều này, tôi nghĩ rằng tôi có thể có một buildConfigField
trong tập tin thư viện của tôi build.gradle
, và sau đó ghi đè lên giá trị đó trong ứng dụng của tôi build.gradle
bằng cách sử dụng cùng tên, như thế này:
build.gradle trong thư viện:
buildConfigField "String", "API_BASE_URL", "\"http://arandomapibaseurl.com\""
build.gradle trong ứng dụng:
buildConfigField "String", "API_BASE_URL", "\"http://myrealapi.com\""
Bất kỳ ý tưởng nào về cách thực hiện điều này?
Cảm ơn!
IIRC, bạn có hai lớp 'BuildConfig' riêng biệt, một cho gói thư viện của bạn và một cho gói ứng dụng của bạn. Thư viện của bạn không biết gì về 'BuildConfig' của ứng dụng và tôi không biết cách để ứng dụng ghi đè' BuildConfig' từ thư viện. Bạn có thể cần khám phá các tùy chọn khác (ví dụ: '' các phần tử tệp kê khai trỏ đến tài nguyên XML, cấu hình dựa trên Java thông thường, ghi đè nội dung). –
CommonsWare