在android和Java项目之间共享源代码
有一个类使用在android和Java项目之间共享源代码,java,android,Java,Android,有一个类使用android平台和jdk编译。现在,我们的想法是,在两个项目中使用该类,一个是android项目,另一个是java应用程序 因此,我创建了一个包含两个模块的项目,一个用于android,一个用于java解决方案。所有的工作都很好,在两个模块之间复制并粘贴类源代码,但是使用起来不是很舒服 因此,问题是,如何在没有复制和粘贴的情况下实现。我更喜欢intellij解决方案,但如果需要,我愿意改用eclipse 谢谢您的回答。创建一个包含共享类的MyLibrary项目,将其打包为jar(M
android平台
和jdk
编译。现在,我们的想法是,在两个项目中使用该类,一个是android项目,另一个是java应用程序
因此,我创建了一个包含两个模块的项目,一个用于android,一个用于java解决方案。所有的工作都很好,在两个模块之间复制并粘贴类源代码,但是使用起来不是很舒服
因此,问题是,如何在没有复制和粘贴的情况下实现。我更喜欢intellij解决方案,但如果需要,我愿意改用eclipse
谢谢您的回答。创建一个包含共享类的
MyLibrary
项目,将其打包为jar(MyLibrary.jar),并将此jar添加为Java和Android项目的库。既然您说该类是“公共的”,这意味着它不使用任何特定于Android的类。在这种情况下,您可以将公共代码作为JAR库分发给java和Android项目。不幸的是,我并不真正理解这是什么意思
此问题的典型解决方案是3个项目:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>util</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>util</artifactId>
<version>1.0</version>
</dependency>
com.mycompany
利用率
1
FWIW,以下是我使用NetBeans 7.1.1所做的工作。。。有可能这些步骤中的一些是不需要的,但经过几天的实验,这似乎是可行的
当心在“共享”库类中使用java.awt类不会生成任何编译器警告,但会导致Android应用程序崩溃后续运行也会崩溃,即使java.awt引用已被删除,并且已对所有内容进行了清理和构建 是的,它可以很好地用于制作JAR库。但这不会导致性能下降吗?JAR必须翻译成dalvik(或者别的什么,我不知道确切的意思)。一个类就是一个类。无论是直接在android项目中,还是在jar中,android都必须做同样的工作。运行时性能没有损失。这是因为Android SDK(特别是dex工具)将把所有的.class文件一起编译成Dalvik字节码(.dex文件)。因此,是的,编译时性能有损失;但这是遵循的标准程序。如果你能分享你的解决方案,那就太好了;如果答案对你有帮助,请在这里投票或接受。我不能投票,因为我需要更多的声誉。下面是intellij的解决方案:1)创建一个新的空项目。2) 为库添加java模块3)为desktopapp添加java模块并为库设置moduledepencies 4)为androidapp添加android模块并为库设置依赖项Intellij IDE同时只加载一个项目。我不知道其他ide是否可以处理多个。因此,如果我不想使用多个IDE窗口,我必须使用模块。另外,模块与项目类似,但ide可以加载其中的许多模块。根据现有项目,您可以创建一个新模块。我不想重复了。