我已经创建了一个Android项目,并添加了一个外部JAR (hessian-4.0.1.jar)到我的项目。然后,我将JAR添加到构建路径中,并在Order和Export中勾选它。
Order和Export似乎被忽略了,并且在运行时缺少来自外部JAR的所有类。
在使用Eclipse插件构建Android应用程序时,是否有一种技巧可以正确地从外部JAR中包含所需的类?我不想使用ant或Maven。
我已经创建了一个Android项目,并添加了一个外部JAR (hessian-4.0.1.jar)到我的项目。然后,我将JAR添加到构建路径中,并在Order和Export中勾选它。
Order和Export似乎被忽略了,并且在运行时缺少来自外部JAR的所有类。
在使用Eclipse插件构建Android应用程序时,是否有一种技巧可以正确地从外部JAR中包含所需的类?我不想使用ant或Maven。
当前回答
为Eclipse
向Android项目或任何Java项目添加外部jar的一个好方法是:
在项目的根文件夹中创建一个名为libs的文件夹 将JAR文件复制到libs文件夹 现在右键单击Jar文件,然后选择构建路径> Add to Build 路径,这将在您的文件夹中创建一个名为“引用库”的文件夹 项目 这样做,你就不会 丢失正在被引用的库 当您将项目转移到另一台计算机时,硬盘驱动器。
针对Android Studio
如果你在项目资源管理器的Android视图中,将其更改为项目视图,如下所示
右键单击想要添加外部库的所需模块,然后选择New > Directroy并将其命名为'libs' 现在将blah_blah.jar复制到'libs'文件夹中 右键单击blah_blah.jar,然后选择“添加为库..”。这将在构建中自动添加和入口。Gradle作为编译文件('libs/blah_blah.jar')并同步Gradle。这样就做完了
请注意:如果你正在使用第三方库,那么最好使用可传递的依赖关系,当Gradle脚本运行时,Gradle脚本会自动下载JAR和依赖JAR。
编译“com.google.android.gms:play-services-ads:9.4.0”
阅读更多关于Gradle依赖管理的内容
其他回答
我目前使用的是SDK 20.0.3,以前的解决方案都不适合我。
hessdroid工作而hess失败的原因是两个jar文件包含针对不同虚拟机编译的java。Java编译器创建的字节代码不能保证在Dalvik虚拟机上运行。Android编译器创建的字节代码不能保证在Java虚拟机上运行。
在我的情况下,我可以访问源代码,并能够使用我在这里描述的方法为它创建一个Android jar文件:https://stackoverflow.com/a/13144382/545064
Goto当前项目
右键单击->属性->Java构建路径->将Jar文件添加到库->单击“确定”
然后将其添加到当前项目中的引用库文件中。
我知道OP在结束他的问题时引用了Eclipse插件,但我在这里进行的搜索并没有指定Eclipse。Android Studio是这样的:
将jar文件添加到libs目录(如复制/粘贴) 右键单击jar文件并选择“Add as Library…” 点击“确定”下一个对话框或重命名,如果你选择。
就是这样!
为Eclipse
向Android项目或任何Java项目添加外部jar的一个好方法是:
在项目的根文件夹中创建一个名为libs的文件夹 将JAR文件复制到libs文件夹 现在右键单击Jar文件,然后选择构建路径> Add to Build 路径,这将在您的文件夹中创建一个名为“引用库”的文件夹 项目 这样做,你就不会 丢失正在被引用的库 当您将项目转移到另一台计算机时,硬盘驱动器。
针对Android Studio
如果你在项目资源管理器的Android视图中,将其更改为项目视图,如下所示
右键单击想要添加外部库的所需模块,然后选择New > Directroy并将其命名为'libs' 现在将blah_blah.jar复制到'libs'文件夹中 右键单击blah_blah.jar,然后选择“添加为库..”。这将在构建中自动添加和入口。Gradle作为编译文件('libs/blah_blah.jar')并同步Gradle。这样就做完了
请注意:如果你正在使用第三方库,那么最好使用可传递的依赖关系,当Gradle脚本运行时,Gradle脚本会自动下载JAR和依赖JAR。
编译“com.google.android.gms:play-services-ads:9.4.0”
阅读更多关于Gradle依赖管理的内容
Android的Java API不支持javax.naming。*和许多其他javax。*的东西。您需要将依赖项包含为单独的jar。