0
我只在應用程序的一種風格中使用greenDAO,並且我想避免將不依賴項添加到不使用它的風格,以免應用程序臃腫。greenDAO僅適用於應用程序的一種風味
我遇到的問題是apply plugin: 'org.greenrobot.greendao'
適用於這兩種口味,導致構建腳本失敗的味道,不使用greenDAO味道。
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
android {
...
productFlavors {
lite {
...
}
pro {
...
}
}
}
greendao {
schemaVersion 1
}
dependencies {
proCompile 'org.greenrobot:greendao:3.2.0'
}
我怎麼能解決這個,任何想法?
編輯:
更具體地講,它看起來像greenDAO建立,即使它們在不同的味道標有@Entity所有類,並將它們放入文件夾\build\generated\source\greendao\com\test\app\database
這將導致生成錯誤的類不能發現(當然不可能,因爲它們被定義爲不同的味道)。
「這將導致構建腳本失敗不使用greenDAO的味道」 - 什麼是失敗的本質是什麼?我個人還沒有使用過greenDAO,但通常一個Gradle插件在找不到任何要處理的內容時會優雅地失敗。 – CommonsWare
@CommonsWare感謝您的評論,我試圖更新問題,使其更具體。 – WebMajstr
Ick。這感覺就像插件本身的錯誤/限制。我能想到的最好的東西就是讓你將所有的greenDAO東西都分離出一個庫模塊,然後把這個庫模塊放入相關的風格中。如果您需要將所有這些全部保存在一個模塊中,理論上您可以編寫一個定製的Gradle任務來刪除不必要的文件,然後安排在任何greenDAO插件生成的任務中自動運行該任務, s)爲此你避免了greenDAO。 – CommonsWare