我有一个Android代码库,使用带有设置的API获取多个应用程序的不同数据。所有应用程序都使用相同的代码库,但有一两个设计调整。那么,如何重复使用主代码库,而无需每次复制整个Android项目?
iPhone在同一项目中使用多个目标,这很有效。如果Android无法做到这一点,我是否需要在一个项目中编译代码库的二进制文件,然后导入到每个新应用程序项目中?如果是这样,怎么做?我正在使用Eclipse。
请查看 Android 文档中的 "Working With Library Projects"。这应该是你正在寻找的内容:http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject
如果你正在使用带有Gradle的Android Studio,解决这个问题的当前方式是使用Gradle、构建类型+产品风味。
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
构建变体
新构建系统的一个目标是使创建同一应用程序的不同版本成为可能。
有两个主要用例:
同一应用程序的不同版本。例如,免费/演示版与“专业”付费应用程序。
为Google Play商店中的多APK打包的不同方式打包的相同应用程序。
当差异非常小的时候,这个新概念被设计来帮助你。如果回答“这是同一个应用程序吗?”是肯定的,那么它可能比库项目更适合。
如果没有使用太多不同的API,Android文档建议采用另一种方法。
这个想法是使用反射而不是直接引用代码。确保使用优化后的反射而不是每次查找。
参考资料