AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法
作者:雨季余静 发布时间:2021-09-05 14:34:33
标签:android,studio,打包,jar
AndroidStudio打包jar
最近更新androidstudio之后发现打包jar不可用了。
先看下以前的方法
更新后新的用法
//Copy类型,请在Terminal中运行gradlew makeJar
task makeJar(type: Copy) {
//删除存在的
delete 'build/libs/' + jarName + ".jar"
//设置拷贝的文件
from("build/intermediates/aar_main_jar/release")
//打进jar包后的文件目录,将classes.jar放入build/libs/目录下
into('build/libs/')
//要打包的jar文件
include('classes.jar')
//重命名
rename('classes.jar', jarName + ".jar")
}
makeJar.dependsOn(build)
完整用法
1.在lib工程的build.gradle最后添加一句
apply from: 'toJar.gradle'
2.在build.gradle同级目录创建文件toJar.gradle
3.List item在toJar.gradle中填写如下:
def jarName = "utils1.0"
//Copy类型,请在Terminal中运行gradlew makeJar
task makeJar(type: Copy) {
//删除存在的
delete 'build/libs/' + jarName + ".jar"
//设置拷贝的文件
from("build/intermediates/aar_main_jar/release")
//打进jar包后的文件目录,将classes.jar放入build/libs/目录下
into('build/libs/')
//要打包的jar文件
include('classes.jar')
//重命名
rename('classes.jar', jarName + ".jar")
}
makeJar.dependsOn(build)
//-encoding UTF-8 -charset UTF-8
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
// 生成jar包的sourcesJar,不需要修改。
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
archiveName = jarName + '-sources.jar'
}
//生成jarDoc的task,不需要修改。
task javadoc(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.srcDirs
options.encoding = "UTF-8"
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
classpath += configurations.compile
}
// 生成javaDoc的jar,不需要修改。
task javadocJar(type: Jar, dependsOn: javadoc) {
group = 'jar'
classifier = 'javadoc'
from javadoc.destinationDir
archiveName = jarName + '-javadoc.jar'
}
task generateJavadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
ext.cp = android.libraryVariants.collect { variant ->
variant.javaCompile.classpath.files
}
classpath = files(ext.cp)
}
artifacts {
archives sourcesJar
archives javadocJar
}
4.在Terminal中执行gradlew makeJar
5.这个时候再build/libs文件夹下就有自己的jar包了
来源:https://blog.csdn.net/Yu1441/article/details/104770779


猜你喜欢
- 实体对象之间相互传值,如:VO对象的值赋给Entity对象,是代码中常用功能,如果通过get、set相互赋值,则很麻烦,借助工具类BeanU
- using System;using System.Collections.Generic;using System.Text;namesp
- 本文实例讲述了Android编程实现图片放大缩小功能ZoomControls控件用法。分享给大家供大家参考,具体如下:MainActivit
- IntelliJ IDEA最佳配置IntelliJ IDEA 分为两个版本:旗舰版(Ultimate)和社区版(Community)。旗舰版
- redissonredisson 实现分布式锁的机制如下:依赖版本implementation 'org.redisson:redi
- Java数组的定义和使用如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种:
- 本文实例讲述了C#实现生成mac地址与IP地址注册码的两种方法,分享给大家供大家参考之用。具体方法如下:方法一:using System;u
- 以在搜索框搜索时,自动补全为例:其中还涉及到一个词,Tokenizer:分词器,分解器。上效果图:MainActivity.java:pac
- 一、安装本地Maven选择你需要的maven版本下载:官网下载传送门我使用的是3.6.1版本:maven-3.6.1-bin.zip&nbs
- Tinker是什么Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况
- 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督。本文从最简单的一个排序算法——桶排序开始,分析桶排序的实现思路,代码实现,性
- JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C、C++代码,尤其是底层库文件
- 承接上文 传送门一.完善登录功能按照常理,只有登陆过后才能进入首页,若没有登陆则应当直接跳转到登陆页面,这样的场景不就完美契合过滤器的功效吗
- “深入浅出,人人都是程序员”开发过android手机的同学都知道在eclipse中可以直接查找到SHA1值,但是使用intellij ide
- 在Android里面,一些炫酷的动画确实是很吸引人的地方,让然看了就赏心悦目,一个好看的动画可能会提高用户对软件的使用率。另外说到动画,在A
- 前言前几天有个需求,需要使用不同的数据源,例如某业务要用A数据源,另一个业务要用B数据源。我上网收集了一些资料整合了一下,虽然最后这个需求不
- 一、题目描述题目实现:在进行网络编程时,由于进行网络连接是比较消耗资源的,因此,可以对连接的等待时间进行设置,如果在规定的时间没有进行连接,
- 内容简介最近在用Unity实现无人机的模拟飞行,但发现站里基本没有完整介绍如何实现该功能的博客,因时间紧迫,就自己简单做了一个仿真(不是完全
- gradle文件执行流程做过Android开发的同学都知道 ,Android项目中存在三个gradle文件,那你是否知道他们的执行流程呢?请
- 首先要安装SpeechSDK5.1 开发包和SpeechSDK5.1 Langague Pack(中英文) 语言包,不过VS2010里是自带