Tôi có hệ thống xây dựng Android đa dự án. Cấu trúc của dự án như sau:Android gradle: Multi project build, cấp cao nhất build.gradle
Root Dir
|
settings.gradle
|
build.gradle
|
Apps
|
app 1
|
build.gradle
|
app 2
|
build.gradle
|
Libs
|
lib 1
|
build.gradle
|
lib 2
|
build.gradle
Tất cả ứng dụng và thư viện đều có cấu hình android thông thường.
Ở cấp độ gốc build.gradle tôi có như sau:
subprojects {
apply plugin: 'android'
android {
compileSdkVersion "Google Inc.:Google APIs:19"
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
}
}
}
Tiếp theo, tôi nghĩ đến việc thêm dòng sau vào các build.gradle trong ứng dụng 1
apply plugin: 'com.android.application'
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
tôi nhận được lỗi sau :
Cannot add extension with name 'android', as there is an extension already registered with that name.
Trong plugin gradle cho android, có cách nào để có "cấu hình chính android trên "có thể được mở rộng bởi một mô-đun phụ?
Bạn có chắc chắn rằng vấn đề không phải là khi có 'áp dụng plugin' được đặt ở hai vị trí khác nhau, với hai ID plugin khác nhau? –
Có thể là một câu hỏi ngớ ngẩn, ai có thể có phần "android {...}" mà không áp dụng plugin android trong tệp gradle? – pka
Không, nhưng bạn đã áp dụng 'android' cho tất cả các tiểu dự án. –