服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法

AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法

2022-11-22 14:49雨季余静 Android

这篇文章主要介绍了AndroidStudio3.6.1打包jar,AndroidStudio4.0打包jar的问题及用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

AndroidStudio打包jar

最近更新androidstudio之后发现打包jar不可用了。

先看下以前的方法

AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法

更新后新的用法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//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中填写如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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包了

到此这篇关于AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法的文章就介绍到这了,更多相关AndroidStudio3.6.1打包jar AndroidStudio4.0打包jar内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Yu1441/article/details/104770779

延伸 · 阅读

精彩推荐