eclipse 如何从一个代码库创建多个Android应用程序

ctrmrzij  于 2023-03-12  发布在  Eclipse
关注(0)|答案(5)|浏览(138)

我有一个Android代码库,它使用带有设置的API为几个应用程序获取不同的数据。所有应用程序使用相同的代码库,但有一两个设计调整。那么我如何重用主代码库,而不必每次复制整个Android项目?
iPhone在同一个项目中使用多个目标,这很好用。如果Android不能做到这一点,我是否需要在一个项目中编译代码库的二进制文件,然后导入到每个新的应用程序项目中?如果是这样,怎么做?我使用Eclipse。

neekobn8

neekobn81#

查看Android文档中的“使用库项目”,这应该正是你想要的:http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

xqkwcwgp

xqkwcwgp2#

如果您将Android Studio与Gradle配合使用,当前解决此问题的方法是使用Gradle、构建类型+产品风格
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
构建变体
新构建系统的一个目标是允许创建同一应用程序的不同版本。
主要有两种使用情形:
同一应用程序的不同版本例如,免费/演示版本与“专业”付费应用程序。
相同的应用程序打包不同的多APK在Google Play商店。
这个新概念是为了在差异非常小的时候提供帮助而设计的。如果“这是同一个应用程序吗?”的答案是肯定的,那么这可能是检查库项目的方法。

idv4meu8

idv4meu83#

注意:这个答案基本上已经过时了,因为现在人们可以用资源创建.aar库。尽管如此,它仍然有效,而且有时候.jar的可移植性可能是可取的,所以我把它留在这里。

Blumer的回答很好,你绝对应该研究一下Android的库项目概念。然而,还有另一种选择。如果你有一个只包含Java代码,但不包含任何类型的资源(图像、布局等)的模块,你可以将其单独编译成一个.jar文件,并在多个应用程序项目中使用生成的.jar。它的工作原理如下:

  • 在Eclipse中创建一个新的Java项目(不是Android项目),并将模块的源代码移到那里。
  • 如果您的模块引用了SDK中的任何类,则需要将Android SDK.jar添加到项目的类路径中(项目〉属性〉Java构建路径〉库〉添加JAR)。
  • 当您的模块准备好使用时,将其.class文件打包到一个. jar中,您可以手动完成此操作,或者您可以四处看看以找出如何让Eclipse为您完成此操作。
  • 将module.jar文件复制到应用主项目的“libs”目录中。
  • 将module.jar添加到项目的类路径中(同样,项目〉属性〉Java构建路径〉库〉添加JAR)。

现在您应该能够使用同一个.jar构建多个应用程序,同时只维护模块源代码的一个副本。
根据您的具体情况,这可能比标准的Android库机制更适合您,也可能不适合您,但值得考虑作为一种替代方案。

hwamh0ep

hwamh0ep4#

如果使用的“不同API”不多,Android文档建议使用另一种方法。
其思想是使用反射而不是对代码进行方向引用。确保每次都使用优化的反射而不是查找。
参考文献

laawzig2

laawzig25#

你可以考虑使用像Subversion(或GIT)这样的源代码控制系统,把功能最完整的版本放在 Backbone.js 中,为使用不同数据源或需要较小布局更改的独立版本创建分支。

相关问题