Android Studio 将Library打包成jar或aar包

2023-05-16

        在eclipse中导出jar包,对于老司机们来说再熟悉不过了,对于新手来说也很简单(不知道还有没有Android新手在用eclipse开发工具了大笑),鼠标咔咔几下jar包就出来了。不过,AS中打jar包也挺简单,就是多几行代码而已。

一、打包成jar

        首先自己新建一个工程,然后添加module并依赖;如下图:

        slidingmenuhbh为添加的library

        

        打开要打包为jar的library的build.gradle,添加如下代码:

task makeJar(type: Copy) {
    delete 'build/libs/SlidingMenuHbh.jar' //删除已经存在的jar包,如果有的话
    from('build/intermediates/bundles/default/')//从该目录下加载要打包的文件,注意文件夹名称有可能为default,也可能是release,自己看一下
    into('build/libs/')//jar包的保存目录
    include('classes.jar')//设置过滤,只打包classes文件
    rename('classes.jar', 'SlidingMenuHbh.jar')//重命名,SlidingMenuHbh.jar 名字自己随便起
}
makeJar.dependsOn(build)

        然后编译一下,在Terminal终端输入 gradlew makeJar 回车,开始打包。首次打包时间稍微长一点,需要下载一些依赖,耐心等待,如果出现 BUILD SUCCESSFUL ,如下图:

        

        说明打包成功,直接在build -> libs下找到jar就ok了,至此打包结束。如下图:

        

补充:过程中可能出现的问题:

1、打包过程中报错如下:

Error:Execution failed for task ':slidingmenuhbh:lint'.
> Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
    lintOptions {
        abortOnError false
    }
}
...

解决方法:如错误所示,在android节点中加上:

lintOptions {
        abortOnError false
    }

重新编译,打包。

2、在Terminal终端输入 gradlew makeJar 提示无效,没有配置gradle环境变量,配置上即可;

二、打成aar包

        aar包是Android studio 下打包Android工程中src、res、lib后生成的aar文件(与Jar包最大的不同是Jar包不包含资源文件,而aar包中是包含的),是Google为Android studio专门推出的一种库文件格式,eclipse中不能直接导入使用,要想使用的话需要转成library,下面会单独再说。

        其实打aar包基本不需要什么操作,依赖的library只需要 Rebuild Project 之后就能生成,在build -> outputs -> aar 文件夹下就能找到,如图:

        

        将aar文件拷贝出来就可以用了,就是这么简单。

补充:推荐使用aar包而不是jar包,原因在于aar包中包含资源文件,而jar包中是没有的,在使用的方便程度上来讲aar是要方便很多的。

三、Eclipse中使用aar包

        即便是现在也有好多开发者在用eclipse开发程序,或者来说一些很老的项目都是一直用eclipse开发的,不愿打破原有的项目结构,但同时需要用到一些当下好的第三方组件,这个时候如果去百度的话,绝大多数都是直接compile,或者有些aar包,单纯的jar包基本没有,很少很少,即便是有也是早期的版本,这个时候就需要将aar包转成library,以依赖库的形式使用。

        方法也很简单:

        1、将xxx.aar文件解压(后缀改成zip解压即可);

        2、在解压得到的目录里面创建libs文件夹,然后将classes.jar文件和jni文件夹下的所有文件都移到libs文件夹下;

        3、将proguard.txt文件的内容拷贝到你的项目的proguard-project.txt文件中(如果没有可以忽略此步骤);

        4、在解压得到的目录里创建project.properties文件,内容如下:(target版本与自己项目中的一致);

        

        5、删除aapt和jni文件夹以及R.txt和proguard.txt文件(如果有R.txt和proguard.txt文件的话)。

        好了,这样一个Eclipse Library项目就构建完成了,使用方式和往常一样导入使用就ok了。

        如图(aar包刚解压状态 与  构建library之后 对比)

        

        

就说这么多吧,        

到此结束。

        


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 将Library打包成jar或aar包 的相关文章

随机推荐