将Android SDK添加到现有的Java项目?

问题描述:

我这是用Java编写的,并使用Swing作为系列的网络操作的前端客户端一个相当大的开源程序的粉丝。由于我一直在使用Android开发几个月,我有一个想法,我可以创建一个类似于Swing应用程序的新应用程序。该程序组织良好,将接口与实现分开,并提供了命令行界面以及Swing。将Android SDK添加到现有的Java项目?

所以理想情况下,我希望能够将某个新的Android程序包注入到现有文件系统中,利用已存在的后端,并使程序的新更新无缝工作。我发现的最接近的建议是这样的:

Q: How can I create a new project from an existing project, using Android command line tools?

答:旧项目的目录树复制到一个新的项目。

这似乎并不像它可以为我的建议是可行的,因为我有与现有的SVN仓库的工作,而不是从头开始整个事情。有什么办法可以解决这个问题吗?

因为我必须使用现有的SVN存储库,而不是从头开始整个事情。有什么办法可以解决这个问题吗?

我对此表示怀疑。 Android不会喜欢Swing代码;标准的Java将不知道如何处理Android代码。

我建议你重新组织代码库为三个:

  • 一个生成一个JAR文件,其中包含的公共逻辑
  • 一个是你的现有Swing /命令行逻辑,它使用的其余部分该JAR
  • 一个是一个新的Android项目,该项目还采用了JAR

也许你可以把这事办成具有src-jar/src-swing/src/(后者为Android)和相关联的构建脚本。就个人而言,我会有三个完全独立的项目。

由于SVN支持移动操作(至少,它习惯了,最后我用它,哦,这么多年以前),你应该能够做到这一点的重组,而不会丢失任何历史版本。

+0

是的,这很可能是你说得对。当然,该项目在完成时会生成一个jar文件,所以我将会看到如果我只是导入jar而不是执行其中的主类,会发生什么。也许我可以与主要开发人员一起在存储库中设置额外的位置,或者将其放在其他位置。 – Kazim

+0

@Kazim:“这个项目呢,当然,当完成生成一个jar” - 是啊,但是这将有一堆额外的课程于它不会给你带来任何好。可能有办法通过ProGuard摆脱它们。 “所以我会看看会发生什么,如果我只是导入jar而不是执行其中的主类” - 如果你的意思是你将JAR添加到一个单独的Android项目,原则上应该工作,只要你不会尝试执行任何依赖于Android以外的东西(例如Swing)。 – CommonsWare