android 使用jar里 aidl,Android Studio中用gradle打包带AIDL文件的jar文件
关键代码task class_jar(type: Jar) {
from "build/intermediates/classes/release/" //核心,将.class 文件编译成Jar包
from 'src/main/aidl/'
destinationDir = file('build/libs')
exclude('/android')
archiveName 'AAA.jar'
}
class_jar.dependsOn(build)
gradle全部代码如下:apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "26.0.2"
defaultConfig {
minSdkVersion 16
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:25.3.1'
}
task class_jar(type: Jar) {
from "build/intermediates/classes/release/" //核心,将.class 文件编译成Jar包
from 'src/main/aidl/'
destinationDir = file('build/libs')
exclude('/android')
archiveName 'AAA.jar'
}
class_jar.dependsOn(build)
下面来详细解释一下这个配置的含义。当在gradle文件中添加下面的代码并点击Sync Project with Gradle File之后,android studio中的gradle project中的命令中会生成一个class_jar。
点击class_jar,底部的Run会自动弹出,会开始在project视图下的app/build/libs目录下生成AAA.jar文件。
class_jar是Task名字。
destinationDir用来定义jar存放位置。
from 表示打包的文件目录
exclude用来过滤掉build/intermediates/classes/release/android这个文件夹(这个文件夹打包进去的话使用jar包的时候会出错)。
archiveName 对生成的jar包进行命名
dependsOn 表示class_jar这个Task依赖于build。
B.dependsOn A, 这意味着,只要我执行task B,task A都会先执行。
参考资料:
Gradle实践之自定义打包jar+Log开关自动关闭
http://unclechen.github.io/2015/10/25/Gradle%E5%AE%9E%E8%B7%B5%E4%B9%8B%E6%89%93%E5%8C%85jar+Log%E5%BC%80%E5%85%B3%E8%87%AA%E5%8A%A8%E5%85%B3%E9%97%AD/
Android Gradle 自定义Task 详解
http://www.cnblogs.com/zhaoyanjun/p/7988965.html
SDK封装AIDL访问Native Service
https://www.jianshu.com/p/f7a77b6bd817
android 使用jar里 aidl,Android Studio中用gradle打包带AIDL文件的jar文件相关推荐
- Android Studio 使用 Gradle 打包 Jar
Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 1.将 plugin 修改为 library 后 build 出 aar ...
- 利用 Android Studio 和 Gradle 打包多版本APK
视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html ==================================== ...
- MyEclipse使用总结——使用MyEclipse打包带源码的jar包
平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...
- java打包带有外部jar,Eclipse使用总结——使用Eclipse打包带源码的jar包
平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...
- Android开发Android studio之gradle打包apk重命名的方法
老套路,先看效果图: 首先第一步在gradle里面(跟android同级)写个获取当前时间的方法如下: //获取时间的方法 GMT+8代表北京时间,下面两个方法都可以 static def getNo ...
- Uniapp中使用高德地图,并在android studio中离线打包
Uniapp中使用高德地图,并在android studio中离线打包 带高德地图功能的Uniapp的android离线打包 1. Uniapp中使用高德地图的方式 2. 高德地图中申请key 3. ...
- 【我的Android进阶之旅】Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的混淆文件
在我2017年的文章[我的Android进阶之旅]Android 混淆文件资源分类整理中,我已经提及过. 之前将所有的混淆都配置在一个 proguard-rules.pro 这个Android Stu ...
- android dagger2 懒加载,Android Dagger依赖注入框架浅析
今天接触了Dagger这套android的依赖注入框架(DI框架),感觉跟Spring 的IOC差不多吧.这个框架它的好处是它没有采用反射技术(Spring是用反射的),而是用预编译技术,因为基于反射 ...
- 用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件。但是有的同学是做实现层的开发,不直接做View层
用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件.但是有的同学是做实现层的开发,不直接做View层的 ...
最新文章
- PLOS Biology: 发现一种固氮玉米
- 《多处理器编程的艺术》读书笔记(2)--- 互斥
- Navicat Premium 11.1.9在Linux系统下的安装
- mysql 通过sock来登陆
- android source镜像源_说要替代安卓的Fuchsia OS,国内镜像上线了!
- java内部类写法_Java学习-内部类
- J2ME下访问.net的webservice
- 【docker】第一节:centos安装docker
- 2021 元宇宙研究报告!
- 大学计算机思维导图_【21计算机考研】改考408+1!上海电力大学翻倍扩招,仍考数据结构!...
- CGContextRef使用简要教程
- PHP--heredoc语法结构定义字符串
- 【5】线性反馈移位寄存器
- 计算机232接口接线,RS232串口接线原理介绍
- 如何获取ppt内的视频文件
- 《银行业金融机构数据治理指引》解读及解决方案建议
- 平时的工作如何体现一个人的技术深度?
- linux监控工具 go实现,Gotop:另一个 TUI 图形活动监视器,使用 Go 编写
- 数据结构——竞选海报
- 【微信小程序】点击图标跳转页面