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

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张图片 

 

你可能感兴趣的:(unity,android,unity,android)