android studio 打包 jar aar

打包jar:

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

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

// 定义jar包名称
def SDK_BASENAME = "test";
// 定义jar包版本
def SDK_VERSION = "_v1.0.0";

def sdkDestinationPath = "build/outputs/jar/";
def zipFile = file('build/intermediates/aar_main_jar/release/classes.jar')
task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}

// 这个task  后面的makeJar就相当于一个方法然后下面的makeJar.dependsOn就相当于调用这个方法参数就是上面的deleteBuild
task makeJar(type: Jar) {
    from zipTree(zipFile)
    from fileTree(dir: 'src/main', includes: ['assets/**']) // 打包assets目录下的所有文件

    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}
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

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

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

 

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值