2017-02-17 41 views
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這將導致生成錯誤的類不能發現(當然不可能,因爲它們被定義爲不同的味道)。

+0

「這將導致構建腳本失敗不使用greenDAO的味道」 - 什麼是失敗的本質是什麼?我個人還沒有使用過greenDAO,但通常一個Gradle插件在找不到任何要處理的內容時會優雅地失敗。 – CommonsWare

+0

@CommonsWare感謝您的評論,我試圖更新問題,使其更具體。 – WebMajstr

+0

Ick。這感覺就像插件本身的錯誤/限制。我能想到的最好的東西就是讓你將所有的greenDAO東西都分離出一個庫模塊,然後把這個庫模塊放入相關的風格中。如果您需要將所有這些全部保存在一個模塊中,理論上您可以編寫一個定製的Gradle任務來刪除不必要的文件,然後安排在任何greenDAO插件生成的任務中自動運行該任務, s)爲此你避免了greenDAO。 – CommonsWare

回答

相關問題