2016-08-03 25 views
1

Ich habe eine Anwendung, die sowohl für mobile/Tablet und TV ist. Seit ich Lehnsessel für den Fernseher benutze, besteht dieses Projekt aus 3 Modulen. Erste (Bibliothek) enthält alle Klassen, die sowohl für TV-und Mobile/Tablet-Modul, dann habe ich TV und Handy/Tablet-Modul, die in Build generiert zwei separate apk. Einer ist für Mobile/Tablet und einer ist für TV. Ich baue ein Modul, das beide Module enthalten würde, damit ich eine einzelne apk erzeugen kann. Ich war in der Lage, Gradle in einen zusammenzufassen. Aber ich benutze verschiedene Themen für beide. Das ist in der <application> im Manifest definiert. Gibt es eine Möglichkeit, den Build zu ermitteln oder zu verzweigen, sodass die App weiß, welches Thema verwendet werden soll, ohne den Algorithmus der Anzeigemetrik ec zu schreiben? ?
Beiden Themen sind AppTheme:Erstellen von einzelnen apk von zwei apks/modules

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 

<style name="AppTheme" parent="@style/Theme.Leanback"> 

Wäre es möglich, Werte-tv für ein Beispiel geben? Also muss ich keinen kompletten Refactor machen oder wo immer dieses Theme benutzt wird, um eine if/else-Anweisung zu machen?

Hat jemand Erfahrung mit dem Zusammenführen von zwei Modulen, ohne eines davon zu einer Bibliothek zu machen?

This Faden sieht interessant aus, aber dieses Thema Sache ...

Antwort

1

Ihre Idee ist richtig. Verwenden Sie einfach den Ressourcenspezifizierer und fügen Sie dem Ordner das zweite Thema hinzu, z. Werte-Fernsehen. Ihr Thema sollte ein Basisthema erweitern, damit Sie nicht mit Problemen bei der Namensgebung Schwierigkeiten haben. Weitere Informationen über Ressourcen-Konfigurationen finden Sie hier: https://developer.android.com/guide/topics/resources/providing-resources.html

+0

Lustig, ich habe diesen Doc gelesen, aber ich habe nicht bemerkt, dass ich 'Werte-Fernsehen' setzen kann. Ich habe vorher 'values-tv' probiert. Danke, dass du mich erinnerst. – parohy