微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 将非Android库项目添加到Eclipse中的Android应用程序

我的 Eclipse工作区中有三个项目:

>基于maven的库项目,生成.jar文件.该项目包含我们的核心代码.
>基于maven的Java桌面应用程序.此应用程序取决于库项目.
>我们刚刚开始构建的Android应用程序.它尚未成熟.

我希望Android应用程序使用库项目作为依赖项.

我已经阅读了一些关于向Android应用程序添加文件依赖关系的类似问题的回复,我试图遵循它们:

方法#1:

项目 – >属性 – > Java构建路径 – >项目 – >添加添加库项目.

现在,我可以使用库项目中的类.编译器不会产生任何警告.但是,当我在模拟器上运行应用程序时,我得到一个类未定义的错误.

方法#2:

生成的.jar文件复制到Android应用程序的“libs”目录中.

这很有效.没有类未定义的异常.但是,我无法附加源代码,因此无法单步执行库代码.另外,每次源更改时,我都必须手动复制.jar文件.

方法#3:

转到库项目的“属性”.您将在左侧窗格中看到“Android”.选择它并标记“IsLibrary”字段.

但是,在我的情况下,左窗格中没有“Android”属性.我想这个属性只有在它是一个真正的Android库项目时才会显示.

我被卡住了.如果有人能告诉我如何最好地处理这种情况,我将不胜感激.

以下是我希望实现的目标摘要

>也可以在桌面应用程序中使用相同的库项目
作为Android应用程序.
>在Android应用程序上,源代码调试应该有效.
>如果库应用程序中有任何源代码更改,Android应用程序应自动获取新更改(而不是每次尝试将新的.jar文件拖到libs文件夹中).

解决方法

方法#1似乎是目前为止的选择,但你需要研究为什么你得到ClassNotFoundException – 解压缩APK(因为它是一个存档),取消它并查看为什么不包含库类.

根据经验,如果您正在使用Eclipse,我相信您正在获得该异常,因为您在将其添加到Android项目时未将库检查为已导出 – 在您将其添加到构建路径之后,以下内容:项目道具 – >构建路径 – >订单和导出,这里确保您的库项目被选中.关于此ClassNotFoundException存在已知问题/挫折,解决方法是选择导出选项卡.我相信这篇文章包含more detailsthis SO topic.

在调试jar代码时,需要在libs文件夹中包含一个与jar文件具有相同命名的属性文件(例如,如果库jar文件是mylib.jar,则需要有一个mylib. jar.properties文件).该文件应该有一个src条目,指向源代码所在的路径(作为jar文件文件系统).当您添加文件时,Eclipse有点愚蠢,因此您需要重新启动它.它可以包含一个doc条目,也可以指向javadoc所在的位置.这是我自己的一个例子:

src=../docs/spring-android-rest-template-1.0.1.RELEASE-sources.jar
doc=../docs/spring-android-rest-template-1.0.1.RELEASE-javadoc.jar

原文地址:https://www.jb51.cc/android/128642.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐