2017-02-17 1 views
0

Ich benutze greenDAO nur in einem Geschmack der App, und ich möchte vermeiden, die Abhängigkeit zu dem Geschmack hinzufügen, die es nicht verwendet, so dass die Anwendung nicht aufgebläht ist.greenDAO für nur einen Geschmack der App

Das Problem, das ich habe, ist, dass apply plugin: 'org.greenrobot.greendao' für beide Geschmacksrichtungen angewendet wird, die Build-Skript für den Geschmack fehlschlagen, die nicht greenDAO verwendet.

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' 
} 

Wie könnte ich das lösen, irgendeine Idee?

EDIT:

Um genauer zu sein, es ist wie greenDAO sieht baut alle mit @Entity markierten Klassen, auch wenn sie in anderen Geschmack sind und legt sie in den Ordner \build\generated\source\greendao\com\test\app\database Dies führt zu Fehlern bauen, wie Klassen nicht sein kann gefunden (was natürlich nicht sein konnte, da sie unterschiedlich ausgeprägt sind).

+0

„die Build-Skript verursacht für den Geschmack versagen, die nicht greenDAO nicht verwendet“ - was ist die Art des Fehlers? Ich habe greenDAO nicht persönlich benutzt, aber normalerweise scheitert ein Gradle-Plugin ordnungsgemäß, wenn es nichts zu verarbeiten finden kann. – CommonsWare

+0

@CommonsWare danke für die Bemerkung, ich habe versucht, die Frage zu aktualisieren, um es genauer zu machen. – WebMajstr

+0

Ick. Das fühlt sich an wie ein Fehler/Einschränkung im Plugin selbst. Das Beste, was mir einfällt, ist, dass Sie all Ihre greenDAO-Sachen in ein Bibliotheksmodul isolieren und dann dieses Bibliotheksmodul nur für relevante Aromen heranziehen. Wenn Sie dies alles in einem Modul behalten möchten, könnten Sie theoretisch eine benutzerdefinierte Gradle-Aufgabe schreiben, die die unnötigen Dateien löscht, und veranlassen, dass diese Aufgabe automatisch nach der Aufgabe ausgeführt wird, die das greenDAO-Plugin hat, die diese Dateien im Flavor erzeugt (s) für die du greenDAO meidest. – CommonsWare

Antwort

Verwandte Themen