我的eclipse工作区中有三个项目:
EventKitchenCore
EventKitchenDesktop
EventKitchenAndroid
EventKitchenCore
包含所有核心功能,EventKitchenDesktop
和EventKitchenAndroid
本质上只是不同的用户界面。
我已添加EventKitchenCore
并在EventKitchenDesktop
中作为库工作,但我无法弄清楚如何将其作为库添加到EventKitchenAndroid
。
我该怎么做?每次我做出改变时,都必须在lib
目录中导出为jar ...
我尝试在Properties > Java Build Path > Libraries
和Properties > Android > Library
中添加核心项目,但没有运气:\
更新 - 现在,我通过将核心项目导出为libs文件夹中的jar来实现它。然而,我经常变化,就像我说的那样,这是一种痛苦。
答案 0 :(得分:12)
Eclipse内置Ant支持。您可以利用它自动创建当前项目的JAR并将其放在另一个项目的文件夹中。
如果EventKitchenAndroid
和EventKitchenCore
项目都在同一个工作区中,请在build.xml
项目中创建一个EventKitchenCore
文件,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<project name="EventKitchenCore" default="createjar">
<target name="createjar">
<jar destfile="../EventKitchenAndroid/libs/EventKitchenCore.jar" basedir="bin" />
</target>
</project>
要测试它,请在Eclipse中选择该文件,然后按 Ctrl + F11 将其作为Ant构建文件运行。如果它按照您想要的方式工作,那么您可以告诉Eclipse在每次构建项目时自动执行此构建文件。转到EventKitchenCore
的项目属性,在 Builders 属性中,单击导入... ,然后选择刚刚创建的build.xml
文件。
现在,它将在每次构建项目时执行。您可以通过按 Ctrl + B 手动强制构建项目。另请参阅我刚创建的video demo。
答案 1 :(得分:4)
您可以将项目配置为依赖于EventKitchenCore的 Maven工件,因此,Maven将为您处理此问题:
EventKitchenCore pom.xml:
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.adamgaskins</groupId>
<artifactId>event-kitchen-core</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>EventKitchenCore</name>
</project>
EventKitchenDesktop pom.xml:
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.adamgaskins</groupId>
<artifactId>event-kitchen-desktop</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>EventKitchenDesktop</name>
<dependencies>
<dependency>
<groupId>com.adamgaskins</groupId>
<artifactId>event-kitchen-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependencies>
</project>
EventKitchenAndroid pom.xml:
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.adamgaskins</groupId>
<artifactId>event-kitchen-android</artifactId>
<packaging>apk</packaging> <!-- for this, you need the maven-android-plugin -->
<version>0.0.1-SNAPSHOT</version>
<name>EventKitchenAndroid</name>
<dependencies>
<dependency>
<groupId>com.adamgaskins</groupId>
<artifactId>event-kitchen-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependencies>
</project>
不要忘记SNAPSHOT后缀,否则,Maven不会更新您的更改。
答案 2 :(得分:2)
最简单的想法(也可以在Eclipse之外工作)就是从库的package-directory创建一个符号链接/快捷方式到项目的src
- 文件夹中:
|- EventKitchenCore
|- src/
|- org.your.library.package <-+
|- EventKitchenDesktop |
|- src/ |
|- org/desktop/something/ |
|- symlink to ----------------+
|- EventKitchenAndroid |
|- src/ |
|- org/android/something/ |
|- symlink to ----------------+
这样,您可以编译实际项目,就好像您的库将成为应用程序的一部分,并且您的更改会立即反映在您的项目中。
答案 3 :(得分:2)
我想说,正如一些贡献者建议的那样,使用maven或ant。配置很简单,大多数已经放置它们,所以这是复制和粘贴的问题。 当您在开发环境中时,您可以做的是在构建路径中添加项目。转到构建路径并选择“项目”选项卡并添加所需的项目,因此每次进行更改时,所有更改都对链接的项目可见。当您即将部署时,您可以使用maven或ant。但是,您也可以从开发过程开始。但是如果你想快速修复,我建议你参考这些项目,如果你不想使用maven或ant。但是在部署时我强烈建议使用这两个项目管理器中的一个,因为正如您所提到的,将项目导出为jar,然后将它们添加到libraries文件夹是一件痛苦的事。
答案 4 :(得分:1)
这是一个可以帮助您的解决方案:
1)Eclipse-Package Explorer - 您的项目(Android) - 右键单击您的项目。
2)点击Android(屏幕左侧) - 现在您的屏幕可能如下所示 -
现在在屏幕底部,在“库”部分中,您可以直接添加所有库项目,而无需创建任何JAR。只需要在工作区中导入这些库项目,或者所有库项目都应该在eclipse中打开。
1)单击“添加”按钮,您将获得可用的库项目列表,从中进行选择并构建项目。
祝你好运..
答案 5 :(得分:0)
您必须转到要创建图书馆的项目的偏好设置,然后在Is Library
子菜单中查看Android
。然后,您可以尝试再次导入项目。
答案 6 :(得分:0)
我相信您正在寻找的是Eclipse中的“链接源”选项。从您的android项目中,选择项目并右键单击以选择“Build Path”&gt; “链接来源”。这将允许您在与Android应用程序开发相同的构建路径中访问您的Java库。
答案 7 :(得分:0)
如果你想要的只是引用Core项目代码,那么在Eclipse中你可以从Android项目中引用这个项目。 (“图书馆项目”功能仅适用于Android库项目,您在这里只有一个普通的Java项目,对吗?)
因此,在您的Package Explorer中,您拥有所有三个(Core,Android和Desktop)项目。右键单击EventKitchenAndroid
,然后选择“属性”。选择Java Build Path - &gt;单击项目选项卡,然后单击添加...按钮。选择EventKitchenCore
。转到订单&amp;导出选项卡并确保已选中EventKitchenCore
项目,您可以继续使用。任何对EventKitchenCore源的更改都可以立即用于Android项目。
答案 8 :(得分:0)
这是我将库添加到项目中的方式
第1阶段:创建图书馆计划
在图片上,您可以看到2个名为库的项目和 ListSamples 正在使用库
要将项目库作为库项目,请右键单击项目并选择属性
标记 IsLibrary 复选框以使其成为库
你可以在库项目的bin文件夹中看到.jar文件
现在创建了库项目
第2阶段:将库项目添加到Android项目
现在右键单击 android项目并选择其属性。然后单击库区域内的添加按钮并将库项目的路径设置为
然后会出现一个弹出窗口,显示您在eclipse中创建的目前处于活动状态的库项目列表(不会显示已关闭的库项目)
这里我只有一个项目,所以它列在这里
选择所需的所有库,然后单击确定。现在,库项目将被添加到您的项目中
在检查您的Android项目时,您可以看到项目的 .jar 文件已添加到您的Android项目中
注意: - 如果您在图书馆项目中使用Android支持包( android-support-v4.jar ),则无需在您的项目中再次添加Android项目。
您还可以使用ant将库添加到项目中。但我对此并不了解。