2017-02-17 74 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

回答

相关问题