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