Java 在新安卓应用程序中使用大型参考项目

Java 在新安卓应用程序中使用大型参考项目,java,android,windows,eclipse,Java,Android,Windows,Eclipse,我正在尝试将一个现有的(相对较大的)java应用程序移植到Android。该应用程序目前使用AWT/Swing作为其GUI,我知道我必须替换它,但我的问题是:我能否将现有的应用程序导出到jar中,并将其用作Android应用程序中的引用?我的目标是使用后端,它仍然是积极发展的计划 我尝试过将.jar添加到libs目录/build路径,并将Eclipse项目添加到构建路径,但都没有成功。每次尝试部署它时,我都会遇到GC问题和NoClassDefFound错误,这最终会导致Eclipse工作台内存不

我正在尝试将一个现有的(相对较大的)java应用程序移植到Android。该应用程序目前使用AWT/Swing作为其GUI,我知道我必须替换它,但我的问题是:我能否将现有的应用程序导出到jar中,并将其用作Android应用程序中的引用?我的目标是使用后端,它仍然是积极发展的计划

我尝试过将.jar添加到libs目录/build路径,并将Eclipse项目添加到构建路径,但都没有成功。每次尝试部署它时,我都会遇到GC问题和
NoClassDefFound
错误,这最终会导致Eclipse工作台内存不足并崩溃

最初的应用程序是使用M-V-C设计模式编写的,我希望包括模型和控制器,只是替换视图。解决这个问题的最好办法是什么


提前谢谢

如果应用程序的体系结构良好,我会去掉视图组件,只保留控制器和模型类。然后它应该在标准JDK上编译(在MVC中,C和M不应该依赖于V)

完成后,创建一个新的空Android项目,将其标记为Android库,并将源代码放入src文件夹

项目应该得到编译,您应该能够看到哪些类丢失了,并且需要一些移植

如果您的项目正在外部类上使用反射,请尝试查看使用了哪些类,并检查它们是否属于Android SDK


如果您使用的是外部jar,请确保这些jar也与Android兼容。

如果应用程序的架构良好,我将放弃视图组件,只保留控制器和模型类。然后它应该在标准JDK上编译(在MVC中,C和M不应该依赖于V)

完成后,创建一个新的空Android项目,将其标记为Android库,并将源代码放入src文件夹

项目应该得到编译,您应该能够看到哪些类丢失了,并且需要一些移植

如果您的项目正在外部类上使用反射,请尝试查看使用了哪些类,并检查它们是否属于Android SDK


如果您使用的是外部JAR,请确保这些JAR也与Android兼容。

谢谢Marvin。我想我应该详细说明一下:是否有必要从我编译到Android应用程序的代码中删除现有视图,或者我可以不使用它而只是不调用它吗?视图将被编译,但由于Android运行时中不存在Swing或AWT,它将无法工作。(我想)谢谢马文。我想我应该详细说明一下:是否有必要从我编译到Android应用程序的代码中删除现有视图,或者我可以不使用它而只是不调用它吗?视图将被编译,但由于Android运行时中不存在Swing或AWT,它将无法工作。(我猜)