我有一個帶有4個子模塊的基於gradle的Android項目 - 兩個庫和兩個應用程序。我試圖通過將一些共享代碼/配置移動到最高級別的build.gradle文件來簡化每個子模塊的build.gradle文件,並使用subprojects {}
使該代碼可用於每個子模塊。從gradle構建Android項目時無法找到用於參數的方法android()
的文件系統結構如下所示:
Root
|- App1/
|- App2/
|- Lib1/
|- Lib2/
|- build.gradle
|- settings.gradle
的問題是,如果我添加一個android {}
部分子項目的Gradle,然後任務失敗。例如,這是我的頂層的build.gradle文件:
subprojects { project ->
android {
buildToolsVersion "20.0.0"
}
}
運行gradle這個回報是:
出了什麼問題: 的問題發生評估根項目「機器人」。 在根項目'android'上找不到方法android()參數[build_7dngpra6ldok366maq0on77r7e $ _run_closure3_closure5 @ 43d95624]。
我搜索了類似的帖子,有些人建議增加線路apply plugin: 'android'
每個子項目,以揭露失蹤android()
方法搖籃抱怨。但是,該解決方案對我不起作用,因爲它會將該行有效地添加到庫項目中,而該項目需要apply plugin: 'android-library'
。
當您在同一個項目中擁有應用程序和庫時,有沒有辦法在subprojects {}
之內使用android {}
?
我在gradle中做了這個修改,但我得到的 – AdiAtAnd 2016-10-07 01:31:22
仍然適用於我,確保你編輯了正確的build.gradle文件(有2個,檢查文件夾) – vaskort 2016-11-13 22:04:12