• Android将library打包成jar包和aar包


    有时候,我们需要将一个SDK的包,打成一个独立的JAR/AAR提供给别的同事或者第三方使用,这时候,就需要将项目中的某模块进行打包。

    经过测试,发现不同的android studion 版本,编译生成的jar包,保存的路径可能都不一样。AS 4.0以下生成的JAR包保存在:build/intermediates/bundles/本次例子使用的是AS 4.2,打包生成的JAR包位于:build/intermediates/packaged-classes

    一  创建 library  项目: 工程(右键)-->new --> Module 创建android library项目,填上你的名称即可,我这里直接叫 mylibrary。

    二  添加打包的自定义任务。

     在 mylibrary 模块中的 build.gradle添加任务,代码如下:

    //task to export contents as jar
    task exportJar(type: Copy) {
       //这个需要根据自己的安卓as的版本,看是否存在
    from('build/intermediates/packaged-classes/release/')
    //将生成的JAR包拷贝到哪里,我这里直接拷贝到app模块的libs目录下去 into(
    '../app/libs') include('classes.jar') ///Rename the jar rename('classes.jar', 'mylibrary.jar')
    }


    exportJar.dependsOn(deleteOldJar, build)

    这里分享一个小的TIPS:

    有时候我们发现,build/intermediates/packaged-classes/release/  这个路径可能我们生成的时候,发现并不存在。可以执行这样操作让其生成。

    在模块mylibrary的gradlek上,依次找到 mylibrary--->build--->clean(删除生成的缓存)--->build(重新build)---》assemble; mylibrary--->other-->assembleDebug-->assembleRelease

    这样上面的文件夹就会生成了,当然也要注意,不同的AS版本上面的命令的所在的位置也不一样的。

  • 相关阅读:
    Java单例模式(Singleton)以及实现
    golang 垃圾回收机制
    MySQL索引背后的数据结构及算法原理
    简述拥塞控制的四种基本算法
    分库分表
    lvalue & rvalue
    理解linux cpu load
    android使用百度地图SDK获取定位信息
    iOSUIWebView---快停下啦,你的愚蠢的行为
    【翻译自mos文章】当/var/tmp文件夹被remove掉之后,GI crash,并启动失败,原因是ohasd can not create named pipe
  • 原文地址:https://www.cnblogs.com/freewsf/p/15870250.html
Copyright © 2020-2023  润新知