如何为Android库项目创buildjar

我必须创build一个库,我要导出到一个jar文件的客户端。 有没有办法创build一个与它的资源的jar子?

Google adMob有这样一个jar包,其中包含资源文件,例如R $ layout.class。 这个页面描述了一些方法来做到这一点,但我不能确切地知道我应该如何使用上面的方法将库项目导入到应用程序。

这是你可以得到的最接近的:

步骤1:创build一个常规的Android库项目,并使其工作。

步骤#2:将Android库项目复制到另一个目录。

第3步:从原始Android库项目中编译的Java类创build一个JAR,并将该JAR放入步骤#2中的副本的libs/目录中。 您应该可以手动在此JAR上运行ProGuard,尽pipe我没有尝试过。

步骤#4:删除复制的库项目的src/目录中的所有内容,留下并清空src/目录。

第5步:压缩或以其他方式分发复制的Android库项目。

这会给你一个像Play Services一样的Android库项目,其中资源是可用的,但是源代码不是。

更新 :现在更好的方法是将你的库项目打包成AAR,这是Android的本地方式,通过编译后的代码和必要的资源创build可重用的工件。 目前(2014年7月),Gradle for Android,Android Studio和android-maven-plugin可以创build和使用AAR。

这工作!

  1. 通过取消selectIsLibrary标志使您的图书馆项目成为正常的项目。
  2. 以Android应用程序执行您的项目。 (它不会显示任何错误)
  3. 您将在.apk文件夹中find.jar文件。
  4. 给你.jar谁想要使用你的图书馆。
  5. 告诉他们只需将外部jar导入构buildpath。

这对所有的资源都可以正常工作。 感谢你们。 为你的回应

按照以下步骤获取库的可分发jar(无需外部依赖项,对库项目进行validation):

  1. 创build你的图书馆项目。 打扫。 您将在bin文件夹中获得一个libraryProjectName.jar文件。 (确保库项目中select了“库”。
  2. 将.jar文件复制到目标应用程序libs文件夹中
  3. 刷新您的工作空间,并按Ctr+Shift+O (在Windwows / Linux上)或Cmd+Shift+O (在Mac上)来解决添加库中的任何导入依赖项。

在遇到任何问题的情况下评论。

用adt 22.2.1testing

  1. 创build你的图书馆项目
  2. 创build空项目
  3. 将库项目添加到您的空项目
  4. build立项目
  5. 在/ gen文件夹中,你会发现你的库项目的类,这将包含你的资源为lib项目。
  6. 导出JAR(从/ gen文件夹中只select这个类)
  7. 从lib项目导出JAR
  8. 将导出的文件重命名为压缩和合并内容
  9. 将最终文件重命名为JAR并将其添加到项目中。

你不能将资源文件打包成jar。 您可以将项目导出为库项目。

你导出你的实用工具类,不引用在Android的资源,即纯Java类作为jar文件。

检查下面的链接

http://developer.android.com/tools/projects/index.html

使您的项目成为一个图书馆项目

右键点击你的项目。 去属性。 selectAndroid。 确保选中了库。

在你的android项目中引用库项目

右键点击你的项目。 去属性。 selectAndroid。 点击添加。 浏览和图书馆项目。

从文档引用

一个库项目不同于标准的Android应用程序项目,因为你不能直接编译它自己的.apk文件,然后在Android设备上运行它。 同样,您也不能将库项目导出为自包含的JAR文件,就像为真正的库一样。 相反,您必须通过引用相关应用程序中的库并构build该应用程序来间接编译库。

这里用ant做一个简单的方法,在Volley源代码中find这个。 将下面的代码添加到custom_rules.xml,然后用ant jar构build

 <?xml version="1.0" encoding="UTF-8"?> <project name="volley-rules" default="help"> <!-- A rule to generate the JAR for inclusion in an Android application. Output file will be bin/volley.jar --> <target name="jar" depends="-compile"> <jar destfile="bin/volley.jar" basedir="bin/classes" /> </target> </project> 

通过Eclipse ADT v22.6.2,您可以通过单击File-> Export-> Java-> Jar File来导出jar,select目录和目标保存位置。

按照最新的Android Studio v1.2,它像一个蛋糕一样简单。 已经在这个链接上回答完整的解决scheme和屏幕截图

Interesting Posts