用AndroidStudio编译出jar包的方法

最近由于项目需要,需要用到AndroidStudio编译jar包,赶紧搜了一波资料学习学习,现在总结如下。

AndroidStudio先执行一次 make Project, 生成对应的class文件

在这里插入图片描述

然后在app/build.gradle中的 android{} 中, 增加以下配置:

task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
    baseName'myJar' //指定生成jar包的名字
    from('build/intermediates/classes/debug') //获取class文件的路径, 执行make project以后就会生成
    into('com/myjar') //把class文件打进jar包后,jar包的目录结构
    //指定目录下不想打包进jar包的文件夹或者class文件, 可变参数,可以传入多个文件或class
    //需要传入相对以上from的路径,传入相对路径才会生效, 如不要build/intermediates/classes/debug/android整个目录, 则传入'android/'
    exclude('android/', 'com/example/admin/myapplication/MainActivity.class')
//  exclude{it.name.startWith("O");} //去掉以 O开头的class文件
}

配置好以后, 点击AndroidStudio最下方的Terminal, 输入命令 gradlew makejar 回车,就会输出jar包在 目录:app/build/libs 中:

在这里插入图片描述
最终得到jar包:

在这里插入图片描述


http://www.niftyadmin.cn/n/1541313.html

相关文章

Redis配置文件参数说明

配置文件参数说明: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile …

Android消息机制--Handler的常见用法介绍

1、Handler的诞生背景 在Android中,规定了只能在主线程(或者叫UI线程)中,去进行UI相关的操作,而其他线程则无法操作UI,否则报错; 但同时,由于不能再UI线程进行耗时的操作&#xff0…

Android消息机制详解:Handler、MessageQueue、Looper

1、Handler的诞生背景 在Android中,规定了只能在主线程(或者叫UI线程)中,去进行UI相关的操作,而其他线程则无法操作UI,否则报错; 但同时,由于不能再UI线程进行耗时的操作&#xff0…

Linux 指令

Linux 复制命令 一般的复制 1. cp /源文件 /目标文件夹 (:把源文件放到文件夹下) 2. cp /源文件 /目标文件名 (:把源文件命名为“目标文件夹名”) 3.如果是要复制文件夹则需要加上-R,否则只能复…

Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别

Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别 一、Web.xml中自动扫描Spring的配置文件(applicationContext.xml) 1,首先在web.xml中配置监听器listener,让Spring进行自动获取。具体加入的代码如下…

Android 事件传递机制详解(事件的分发、拦截、处理)

1、事件在Android中的传递顺序 事件在Android的传递顺序: Activity--> Window-->DecorView --> 布局View或者说以上顺序是事件在应用层的传递顺序。如果要说整个事件的传递机制,是Android底层收到触摸屏的事件后,使用socket跨进程…

Android View的测量、布局、绘制过程详解(上)

Android View的绘制过程主要有三步: 测量 Measure布局 Layout绘制 Draw 首先理解MeasureSpec的含义,然后跟踪ViewGroup的measure、layout、draw三个方法即可 view的绘制流程是我们在自定义View中通常会使用到的一个知识点,也是一个面试常问…

Android View的测量、布局、绘制过程详解(下)

View的measure()方法是final的,因此我们无法在子类中去重写这个方法,在该方法内部会调用onMeasure()方法。所以我们自定义view时,要重写也是重写onMeasure方法。同理,layout、draw也是final的,我们根据需要重写onLayou…