如何在Android项目中使用外部JAR?

android eclipse android-studio build.gradle class-library

243388 观看

12回复

0 作者的声誉

我创建了一个Android项目,并在我的项目中添加了一个外部JAR(hessian-4.0.1.jar)。然后我将JAR添加到构建路径并在Order和Export中将其检出。

看起来忽略了Order和Export,并且运行时缺少外部JAR中的所有类。

在使用Eclipse插件构建Android应用程序时,是否有从外部JAR正确包含所需类的技巧?我不想使用蚂蚁或Maven。

作者: Fredrik Olsson 的来源 发布者: 2009 年 8 月 26 日

回应 (12)


127

4566 作者的声誉

是的,你可以使用它。方法如下:

  1. 您的项目 - >右键单击 - >导入 - >文件系统 - > yourjar.jar
  2. 您的项目 - >右键单击 - >属性 - > Java构建路径 - >库 - >添加Jar - > yourjar.jar

如果您遇到一些问题,此视频可能很有用。

作者: MannyNS 发布者: 26.08.2009 10:39

4

0 作者的声誉

原来我的堆栈跟踪看起来不够好,问题不在于外部JAR没有包含在内。

问题是Android平台缺少javax.naming。*以及外部JAR也具有依赖性的许多其他软件包。

添加外部JAR文件,并在Eclipse中设置Order和Export与Android项目一样正常工作。

作者: Fredrik Olsson 发布者: 27.08.2009 02:15

1

11 作者的声誉

Android的Java API不支持javax.naming。*和许多其他javax。*的东西。您需要将依赖项包含在单独的jar中。

作者: Rodrigo 发布者: 24.11.2010 03:54

439

30015 作者的声誉

对于Eclipse

将外部JAR添加到Android项目或任何Java项目的好方法是:

  1. libs在项目的根文件夹中创建一个名为的文件夹
  2. JAR文件复制到该libs文件夹
  3. 现在右键单击Jar文件,然后选择Build Path> Add to Build Path,它将在项目中创建一个名为'Referenced Libraries'的文件夹

    通过这样做,只要将项目传输到另一台计算机,就不会丢失硬盘驱动器上引用的

对于Android Studio

  1. 如果您在项目资源管理器中的Android视图中,请将其更改为项目视图,如下所示

缺少图像

  1. 右键单击要添加外部库的所需模块,然后选择New> Directroy并将其命名为' libs '
  2. 现在将blah_blah.jar复制到' libs '文件夹中
  3. 右键单击blah_blah.jar,然后选择“ Add as Library .. ”。这将自动在build.gradle中添加和输入为编译文件('libs / blah_blah.jar')并同步gradle。你完成了

请注意:如果您使用的是第三方库,那么最好使用传递依赖项,Gradle脚本会在gradle脚本运行时自动下载JAR和依赖项JAR。

例如:编译'com.google.android.gms:play-services-ads:9.4.0'

阅读更多关于Gradle Dependency Mangement的信息

作者: Vinayak Bevinakatti 发布者: 28.07.2011 12:32

3

31 作者的声誉

转到当前项目

RightClick-> Properties-> Java Build Path->将Jar文件添加到库中 - >单击OK

然后将它添加到当前项目的Referenced Libraries文件中。

作者: kalyan G 发布者: 03.07.2012 05:10

5

3625 作者的声誉

我目前正在使用SDK 20.0.3,之前的解决方案都不适用于我。

hessdroid在hess失败的情况下工作的原因是因为两个jar文件包含为不同虚拟机编译的java。Java编译器创建的字节代码无法保证在Dalvik虚拟机上运行。Android编译器创建的字节代码无法保证在Java虚拟机上运行。

在我的情况下,我有权访问源代码,并能够使用我在此描述的方法为它创建一个Android jar文件:https//stackoverflow.com/a/13144382/545064

作者: Danny Remington - OMS 发布者: 30.10.2012 05:30

0

1624 作者的声誉

在项目中创建一个文件夹(如lib),将jar复制到该文件夹。现在从右键单击项目开始配置构建路径,在构建路径选择中

'添加jar' 浏览到你创建的文件夹选择 jar。

作者: sharma_kunal 发布者: 24.01.2013 12:26

5

10850 作者的声誉

我知道OP在参考Eclipse插件时结束了他的问题,但是我带着一个没有指定Eclipse的搜索来到这里。Android Studio就是这样的:

  1. jar文件添加到libs目录(例如复制/粘贴)
  2. 右键单击jar文件,然后选择“添加为库...”
  3. 如果您选择,请在下一个对话框中单击“确定”或重命名。

而已!

作者: shanabus 发布者: 09.06.2013 07:23

1

378 作者的声誉

如果使用Android Studio,请执行以下操作(我复制并修改了@Vinayak Bs的答案):

  1. 在项目侧视图中选择项目视图(而不是包或Android)
  2. 在项目的根文件夹中创建一个名为libs的文件夹
  3. 将JAR文件复制到libs文件夹
  4. 侧视图将更新,JAR文件将显示在您的项目中
  5. 现在右键单击要导入的每个JAR文件,然后选择“Add as Library ...”,它将在项目中包含它
  6. 之后,您需要做的就是在代码中引用新类,例如。 import javax.mail.*
作者: kumaheiyama 发布者: 06.02.2015 08:52

1

71 作者的声誉

在android studio中如果使用gradle

将此添加到build.gradle

compile fileTree(dir: 'libs', include: ['*.jar'])

并将jar文件添加到libs文件夹中

作者: g_vk 发布者: 29.08.2015 09:51

0

34726 作者的声誉

无法始终将.jar文件复制到Android项目的文件夹中。
特别是如果它是您工作区中另一个项目的输出,并且它会不断更新。

要解决此问题,您必须将jar作为链接文件添加到项目中,而不是导入它(将在本地复制它)。

在UI中选择:

项目 - >导入 - >文件系统 - > 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个目录(../../../../../)。

然后将其添加到库中:
Project - > Properties - > Java Build Path - > Libraries - > Add Jar - > yourjar.jar

在同一窗口中选择Order and Export选项卡并标记您的jar,以便将其添加到apk。

作者: Yochai Timmer 发布者: 31.10.2015 07:44

1

5658 作者的声誉

如果您使用的是gradle构建系统,请按照下列步骤操作:

  1. jar文件放在libsAndroid应用程序的相应文件夹中。通常你会在找到它Project> app> libs。如果libs缺少文件夹,请创建一个。

  2. 将此添加到您的build.gradle文件中app。(不是你Projectbuild.gradle

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        // other dependencies
    }
    

    这将包括jar文件libs夹中可用的所有文件。

如果不想包含所有jar文件,则可以单独添加。

compile fileTree(dir: 'libs', include: 'file.jar')

作者: Rohit Arya 发布者: 30.03.2016 08:20
32x32