• android studio 打包 jar aar


    打包jar:

    第一种情况:所需打包的项目jar只有纯代码未导入任何第三方jar导包:记住,你的这个项目必须是library

    1.打开lib目录下的build.gradle 在文件末尾追加

    1. // 定义jar包名称
    2. def SDK_BASENAME = "test";
    3. // 定义jar包版本
    4. def SDK_VERSION = "_v1.0.0";
    5. def sdkDestinationPath = "build/outputs/jar/";
    6. def zipFile = file('build/intermediates/aar_main_jar/release/classes.jar')
    7. task deleteBuild(type: Delete) {
    8. delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
    9. }
    10. // 这个task 后面的makeJar就相当于一个方法然后下面的makeJar.dependsOn就相当于调用这个方法参数就是上面的deleteBuild
    11. task makeJar(type: Jar) {
    12. from zipTree(zipFile)
    13. from fileTree(dir: 'src/main', includes: ['assets/**']) // 打包assets目录下的所有文件
    14. baseName = SDK_BASENAME + SDK_VERSION
    15. destinationDir = file(sdkDestinationPath)
    16. }
    17. makeJar.dependsOn(deleteBuild, build)

    2.在Terminal中 运行 gradlew makeJar 或者 在android studio 的右侧侧边栏中找到Gradle打开
    Tasks - other - makeJar
    双击makeJar

    如果出现这种错误:

     向android{}中追加

    lintOptions { abortOnError false }

    再重复步骤2即可

    第二种情况:项目导入了第三方jar包,我使用打包成功的jar发现里面用的第三方jar的方法找不到,然后我解压这个打包的jar,发现,里面只有项目代码,没有第三方jar

    1. //修改jar名字+将指定jar生成的地方
    2. //把cope改成Jar
    3. task makeJar(type: Jar) {
    4. //如果之前存在,则先删除
    5. archivesBaseName = "HttpCleanLibrary"
    6. //设置拷贝的文件 这几个文件第一个是我的项目class 一下四个是我导入的第三方jar 你导入几个需要写几个
    7. from(project.zipTree('build/intermediates/packaged-classes/debug/classes.jar'))
    8. from(project.zipTree('build/intermediates/packaged-classes/debug/libs/okhttp-3.12.0.jar'))
    9. from(project.zipTree('build/intermediates/packaged-classes/debug/libs/okio-1.16.0.jar'))
    10. from(project.zipTree('build/intermediates/packaged-classes/debug/libs/okhttp-urlconnection-3.10.0.jar'))
    11. from(project.zipTree('build/intermediates/packaged-classes/debug/libs/gson-2.8.5.jar'))
    12. //生成jar包后的文件目录位置
    13. destinationDir = file('build/libs/')
    14. }

     这里有五个,其中我只用到四个外部包,所以我就直接打包四个,然后就可以直接打包了,等打包完成你再看,打包的jar里面就有你所需的第三方jar功能了:

     

    还有一个需要注意,第二种情况导入的第三方包只能是jar,直接在dependencies

    配置的前提你得找到其.jar目录,至于我,因为没找到只能在网上下载jar打包!

    打包aar:
    在android studio 的右侧侧边栏中找到Gradle打开,找到你的module
    Tasks - build - assemble
    双击assemble

  • 相关阅读:
    Vue——插槽
    Android --- Service
    分页机制详解
    Fe3O4纳米粒子/氧化锌纳米粒子/纳米氧化铈/纳米聚乙烯修饰二氧化硅微球表征探究
    RT-Thread基于STM32H743的网络通信调试
    尚硅谷Redis6从入门到精通
    【剑指offer】1-5题
    AcWing 858. Prim算法求最小生成树
    vue问题记录
    无人注意,新安装的 Ubuntu 23.04 不支持安装 32 位应用
  • 原文地址:https://blog.csdn.net/Zophar_Development/article/details/125432264