• 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版本上面的命令的所在的位置也不一样的。

  • 相关阅读:
    使用 apache ant 轻松实现文件压缩/解压缩(转)
    Ajax下载文件(页面无刷新)
    java实现写大量数据到文件中
    mysql的wait_timeout配置(此处处理方法是有问题的,不建议作为操作参考)
    Class对象
    使用Comparable接口的小例子
    java打印菱形的简单方法
    自适应学习率调整:AdaDelta
    神经网络模型算法与生物神经网络的最新联系
    [杂谈]机器学习:数学、概率与人工智能
  • 原文地址:https://www.cnblogs.com/freewsf/p/15870250.html
Copyright © 2020-2023  润新知