1.本章的基础是有一定的android基础,当然,没有android studio开发经验的同学也可以参考一下,难度并不是太大。

我们这一章的主要目的是创建一个jar包,然后能够在unity里面引用。

当然,这一部分仅仅只是在android studio里面打jar包的部分,下一章才是在unity里面去引用这个jar包。

 

好了,背景介绍玩毕,我们就要开始jar包之旅。

想必看这篇博客的大部分同学应该有过写dll的精力,我们我们往往会需要创建.dll这样一个动态链接库共我们的程序夸程序调用,.dll里面将封装好一些公共的api(接口),供我们使用。

而jar包就类似于.dll,只是前者是c++或者c#的东西,是微软提供的公共接口,而后者则是基于java提供的程序公共接口。

两者其实是可以相互调用的,只需要写一个相互的解析程序(连接桥),就能够相互调用。

有过dll精力的想必理解jar包就非常容易了。

 

在as里面,打jar包是通过gradle这种构建工具实现,gradle是什么?其实就是一个开源工具,是比较受欢迎的开源工具,具体原理你不需要了解,你只需要知道通过gradle可以将as里面的类库聚合成jar包。

 

有了这个概念,我们就来创建一个jar包的工程(module)

file->new->new module

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第1张图片

 

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第2张图片

创建完后我们只需要注意几个地方

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第3张图片

这个就是gradle工具 ,可以配置它来进行打包操作

我们来看一下这个gradle的结构

现在我们来配置,你只需要添加这几句在gradle.build的文件的下面就行

1.我们需要在android里面添加一个东西

    lintOptions {        abortOnError false    }

 

然后添加task标签

task makeJar(type: Copy) {    delete 'build/myTool.jar'    from('build/intermediates/bundles/default/')    into('build/')    include('classes.jar')    rename('classes.jar', 'myTool.jar') //你的jar包的包名}makeJar.dependsOn(build)

最后是这样的:

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第4张图片

 然后我们配置完了之后,怎么配置?

有一个配置选项,我们点击后它就会自动帮你完成之后的工作

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第5张图片

 

点击这个按钮,会出现一些选项

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第6张图片

 然后,选中你的工程,双击,会出现一个Tasks下拉框,往下找,一个叫MakeJar的选项

如果没有,你就刷新一下

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第7张图片

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第8张图片

 

打包结果:

卜若的代码笔记系列-unity系列-第三章:android交互之android studio(as)打jar包-5003_第9张图片 

 

更多相关文章

  1. Android社交类APP动态详情代码实现通用模板
  2. 在 Android 中调用二进制可执行程序(native executable )-- 在代码
  3. android 百度地图系列之地图初始化及定位
  4. Android旅游APP类项目源代码
  5. android UI系列 - 自定义4.0风格多功能对话框(附图)
  6. 图解 Android 系列(一)揭秘 Android 系统启动过程
  7. Android 高级编程读书笔记 视图View定制与拓展
  8. [Android Studio系列(三)]Android Studio 编译、同步慢的解决方
  9. Android APK 签名、打包笔记

随机推荐

  1. HTTP缓存
  2. Java中的泛型方法
  3. 搞懂Netty(3)编解码问题的解决
  4. 愿那只在天堂的猫,能够被温柔相待
  5. 凭啥Java的运行环境称虚拟机,Python的只能
  6. 数据结构之:二分搜索树
  7. ES Module
  8. 从webpack到rollup
  9. 视频断更的第45天,想你
  10. serif,sans-serif,monospace,cursive和fanta