我创建了一个Android项目,并在我的项目中添加了一个外部JAR(hessian-4.0.1.jar)。然后我将JAR添加到构建路径并在Order and Export中进行了检查。
似乎忽略了Order和Export,并且在运行时缺少外部JAR中的所有类。
在使用Eclipse插件构建Android应用程序时,是否有从外部JAR正确包含所需类的技巧?我不想使用蚂蚁或Maven。
答案 0 :(得分:440)
对于Eclipse
将外部JAR添加到Android项目或任何Java项目的好方法是:
libs
的文件夹libs
文件夹 现在右键单击Jar文件,然后选择Build Path>添加到构建 路径,它将创建一个名为“Referenced Libraries”的文件夹 项目
通过这样做,你不会 丢失您的图书馆 将项目转移到另一台计算机时,硬盘驱动器。
适用于Android Studio
请注意:如果您使用的是第三方库,那么最好使用传递依赖,其中Gradle脚本会在gradle脚本运行时自动下载JAR和依赖JAR
例如:编译'com.google.android.gms:play-services-ads:9.4.0'
答案 1 :(得分:127)
是的,你可以使用它。方法如下:
如果遇到问题,此video可能会有用。
答案 2 :(得分:5)
我目前正在使用SDK 20.0.3,之前的解决方案都不适用于我。
hessdroid工作失败的原因是因为两个jar文件包含为不同虚拟机编译的java。 Java编译器创建的字节代码无法保证在Dalvik虚拟机上运行。 Android编译器创建的字节代码无法保证在Java虚拟机上运行。
在我的情况下,我可以访问源代码,并能够使用我在此处描述的方法为其创建Android jar文件:https://stackoverflow.com/a/13144382/545064
答案 3 :(得分:5)
我知道OP在参考Eclipse插件时结束了他的问题,但是我带着一个没有指定Eclipse的搜索来到这里。所以这适用于Android Studio:
jar
文件添加到libs目录(例如复制/粘贴)jar
文件,然后选择“添加为库...”就是这样!
答案 4 :(得分:4)
原来我的堆栈跟踪看起来不够好,问题不在于没有包含外部JAR。
问题在于Android平台缺少javax.naming。*以及外部JAR依赖的许多其他软件包。
添加外部JAR文件,并在Eclipse中设置Order and Export可以按预期使用Android项目。
答案 5 :(得分:3)
转到当前项目
RightClick->属性 - > Java构建路径 - >将Jar文件添加到库中 - >单击“确定”
然后将它添加到当前项目的Referenced Libraries文件中。
答案 6 :(得分:1)
Android的Java API不支持javax.naming。*和许多其他javax。*的东西。您需要将依赖项包含在单独的jar中。
答案 7 :(得分:1)
如果使用Android Studio,请执行以下操作(我复制并修改了@Vinayak Bs的答案):
- 在项目侧视图中选择项目视图(而不是包或Android)
- 在项目的根文件夹中创建名为 libs 的文件夹
- 将您的JAR文件复制到libs文件夹
- 侧视图将更新,JAR文件将显示在您的项目中
- 现在右键单击要导入的每个JAR文件,然后选择“添加为库...”,这将包含在您的项目中
- 之后,您需要做的就是在代码中引用新类,例如。
醇>import javax.mail.*
答案 8 :(得分:1)
将此添加到build.gradle
compile fileTree(dir: 'libs', include: ['*.jar'])
并将jar文件添加到libs文件夹
答案 9 :(得分:1)
如果您使用的是 gradle 构建系统,请按以下步骤操作:
将jar
个文件放在Android应用的相应libs
文件夹中。您通常会在Project
>处找到它。 app
> libs
。如果缺少libs
文件夹,请创建一个。
将此内容添加到您的build.gradle
文件中app
。 (不是您的Project
' s build.gradle
)
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// other dependencies
}
这将包括jar
文件夹中的所有libs
个文件。
如果您不想包含所有jar
个文件,则可以单独添加。
compile fileTree(dir: 'libs', include: 'file.jar')
答案 10 :(得分:0)
创建一个文件夹(如lib),将您的jar复制到该文件夹。 现在从右键单击项目转到配置构建路径,在构建路径中选择
'添加jar' 浏览到您创建的文件夹并选择 jar。
答案 11 :(得分:0)
将.jar文件复制到Android项目的文件夹中是不可能的。
特别是如果它是您工作区中另一个项目的输出,并且它会不断更新。
要解决此问题,您必须将jar作为链接文件添加到项目中,而不是导入它(将在本地复制它)。
在用户界面中选择:
项目 - >导入 - >文件系统 - > yourjar.jar - > (选项区域)高级 - >在工作区中创建链接。
该链接保存在 .project 文件中:
<linkedResources>
<link>
<name>yourjar.jar</name>
<type>1</type>
<locationURI>PARENT-5-PROJECT_LOC/bin/android_ndk10d_armeabi-v7a/yourjar.jar</locationURI>
</link>
</linkedResources>
PARENT-5-PROJECT_LOC
表示相对于项目文件,有5个目录(../../../../../).
然后将其添加到库中:
项目 - &gt;属性 - &gt; Java构建路径 - &gt;图书馆 - &gt;添加Jar - &gt; yourjar.jar
在同一窗口中选择订单和导出标签,然后标记您的jar,以便将其添加到apk中。