我正在努力寻找白色标记Android应用程序的最佳方法。基本上我希望能够构建几乎相同的应用程序的多个版本,每个版本将具有不同的资源(例如可绘制的图标,颜色等),但是它们将共享许多代码库。有些应用程序也会有其他功能,因此它们不仅仅是彼此的克隆。
我想到的一种方法是将共享代码分离到库中,但问题是某些共享代码包含活动,所以我不确定如何在每个应用程序中更改资源。
另一种方法是克隆和拥有,但是一个存储库中的任何错误或更改都必须应用于另一个。
还有其他选择吗?在两个Android应用程序之间共享代码(包括活动,某些资源和其他常规Java类)的最佳实践是什么?
答案 0 :(得分:13)
在两个Android应用之间共享代码(包括活动,某些资源和其他常规Java类)的最佳做法是什么?
使用适用于Android的Android Studio和Gradle,白标可以只是在该项目中为每位客户设置product flavors。您的公共代码和默认资源位于src/main/
。您的其他代码和资源覆盖会进入src/whateverNameYouGiveYourFlavorForTheCustomer/
。然后,无论是从Android Studio(构建变体视图,停靠在左侧)还是从命令行,您都可以为每个客户特定的风格构建不同的应用程序输出。
欢迎您前往图书馆路线。应用程序中定义的同名资源会覆盖库中的资源。