美文网首页
(转载)Android studio如何将第三方jar包打入一个

(转载)Android studio如何将第三方jar包打入一个

作者: 无星灬 | 来源:发表于2017-01-17 10:28 被阅读210次

    问题:

    存在这么一种情况:

    我们要打包的android项目中已经引用了一个或多个第三方.jar文件。那么我们按上面的方法打成.jar文件,在引入到别的项目中使用中,

    会发现出现错误:

    NoClassDefFoundError

    定位到错误代码位置,会发现生成.jar文件的原始android项目中引用的第三方.jar文件中的类找不到。

    这里可以猜测,使用上述方法将android项目打成.jar文件的过程中,并没有将android项目原来引用的第三方.jar文件也一起打入到新的.jar文件中。

    可以测试一下,将android项目打成的.jar文件解压缩,会发现只有java代码相关文件,而没有原来android项目中引用的第三方.jar文件

    解决方案:

    1、首先 问题产生的原因就是生成.jar文件的android项目原先引用的第三方.jar文件没有被打入到 新的.jar文件中

    那么我们想:怎么在android项目打成.jar文件的时候 顺带把 android项目引用的第三方.jar文化也一并打入到新的.jar文件?

    试了几天,目前没有找到解决办法。。。此路不通

    2、既然android项目原来引用的.jar文件打不进 要生成的.jar文件中去,我们是否可以手动的将android项目引用的第三方项目整合到android项目打成的.jar文件中去?

    即 将android项目打成的.jar文件和android项目自身引用的.jar文件合并成一个.jar文件

    网上查询了一番: 可以使用 ANT 工具实现 将两个或多个.jar文件合并成一个.jar文件

    Apache Ant是一个基于Java的生成工具。据最初的创始人James Duncan Davidson的介绍,这个工具的名称是another neat tool(另一个整洁的工具)的首字母的缩写。

    实现步骤:

    (1)、下载ANT,这个网上百度一堆

    (2)、配置环境变量

    (3)、检测是否配置成功

    点击 开始 -> 运行 -> 输入cmd

    打开命令窗口,

    输入如下命令:ant

    如果出现如下内容,说明安装成功:

    Buildfile: build.xml does not exist!

    Build failed

    注意:因为ant默认运行build.xml文件,这个文件需要我们创建。

    如果不想命名为build.xml,运行时可以使用 ant -buildfile test.xml 命令指明要运行的构建文件。

    (4)、编辑xml文件,命名随意,这里命名build.xml

    打开文件编辑:

    如图

    <?xml version="1.0" encoding="utf-8"?>

    <project

    name="hosa"

    basedir="E:\soft"

    default="makeSuperJar" >

    <target        name="makeSuperJar"                        description="description" >

    <jar destfile="ChanPaySdk.jar" >

    <zipfileset src="volley.jar" />

    <zipfileset src="cpsdk.jar" />

    </jar>

    </target>

    </project>

    (5)、命令行执行合并操作,输入第一行命令,红色部分是我们编辑的build.xml文件的地址

    (6)、打开build.xml文件中basedir="H:\soft\jar"该目录,即可看到合并后的jar文件。

    转载自博客地址:http://www.cnblogs.com/xqxacm/p/5893400.html

    使用ant可打包。另外作者的XML文件使用时请将注释移除,多余不提了。。。

    相关文章

      网友评论

          本文标题:(转载)Android studio如何将第三方jar包打入一个

          本文链接:https://www.haomeiwen.com/subject/cwrmbttx.html