Geschmäcker und Bibliotheken sind nicht wirklich vergleichbar.
Eine Bibliothek ist in der Regel ein eigenständiges Funktionsstück, das Sie in mehreren Projekten wiederverwenden können. Sie könnte eine Funktion bereitstellen, die Sie häufig verwenden, oder eine benutzerdefinierte Ansicht bereitstellen, die Sie in vielen Anwendungen verwenden.
Produktgeschmäcker sind leicht unterschiedliche Versionen derselben Anwendung. Das häufigste Beispiel ist eine kostenpflichtige vs. kostenlose App- mit Produktgeschmäckern können Sie eine einzige Codebasis haben, die beide Versionen generiert. Ein weiteres vereinfachtes Beispiel wäre eine App, die in zwei Farben verfügbar ist- Sie könnten einen roten Produktgeschmack und einen blauen Produktgeschmack haben. In diesem Fall könnte der einzige Unterschied ein einzeiliger Farbstring in Ihren Ressourcen sein.
Wo ich denke, dass die Verwirrung herkommt, ist, dass Sie eine Bibliothek verwenden können, um die Ziele des Produktgeschmackssystems zu erreichen. Das heißt, Sie können Ihre gemeinsame Funktionalität nehmen und in einem Bibliotheksprojekt platzieren, das Sie in allen Versionen Ihrer Anwendung einschließen. Dies ist eine unordentliche Art und Weise, um das Ziel zu erreichen, zwei Apps mit nur geringfügigen Unterschieden zwischen ihnen zu haben, und wenn dies Ihr Ziel ist, sollten Sie stattdessen Produktgeschmäcker verwenden.
Aus der Gradle Plugin Benutzeranleitung:
Wenn die Antwort auf die Frage „Ist dies dieselbe Anwendung?“ Ja lautet, ist dies wahrscheinlich der richtige Weg gegenüber Bibliotheksprojekten.