先讲一下Android Studio的界面,以及一些模块的功能作用。
Unity最新的版本都会自带SDK,如果是之前的Unity版本可以在AndroidStudio中的Tools的SDK Manager中下载,如果选择的平台多的情况下,需要选择一个有足够空间的磁盘,东西比较大,可能有上百个G。
然后新建一个空的工程,包名的命名需要和Unity中的包名一致:
AndroidStudio中有几种模式,如下图所示,Project中就是工程文件,比如有.idea和app还有grade,即你在不同样式下看到的结构是不同的,有些结构是会隐藏而有些不会,一般使用Project Files,可以直接看到源码(如图),依赖库的话一般放在libs中。
有时候也会使用Android模式,可以直接找到类,以及manifests中的配置文件,res中是一些资源,这是一些基本介绍,
在Log里面可以找到过滤器,这样Unity的编译器的代码就只能看到Unity中的Log。
我们一般的流程是将写好的安卓代码导出为jar,然后导入Unity进行一个使用,这和将Unity工程打包导入安卓进行二次开发是不一样的,有些公司就会将Unity打包成IOS和安卓导入进行SDK的接入,这种方法在每进行一次打包的时候,就会需要将安卓代码再重新编译一次,实在是太麻烦了,通常情况下都会将它做成一种插件的使用形式 ,将安卓和IOS的代码拷贝到Unity里面,Unity直接打包完成就可以运行了。
因此在这个安卓路径下,我们一般会存放打包好的aar和jar的文件,jar就是我们纯粹的代码,没有任何其他的东西,aar包含了一些我们的工程资源(比如依赖库,资源和代码),使用aar的话就不需要把一堆乱七八糟的资源拷贝到Unity的Plugins下,只需要将aar拷贝过来即可,这种情况比较适合接入我们底层内容比较多的SDK,比如B站。而微信和QQ登录就只需要jar就够了,因为使用aar的话会因为其包含的内容过多而产生冲突。一般还是使用jar较为保险,否则aar产生冲突就会很难排查删除,且都使用aar的话会导致打包之后内存较大。使用jar的话也需要注意使用的依赖库和资源都需要拷贝到Unity插件路径下。
如何生成jar和aar?
单纯点击Build的话只会生成apk,所以这个工程的目的就是产生aar和jar作为一个插件导入我们的Unity中,因此我们先打开app中的build.gradl,安卓中的版本信息可以不用管,导入Unity之后是以Unity为准的。
我们将最上面的抬头形式进行修改,这个就代表了当前不去生成apk,而是生成jar或者是aar的包。
然后进行rebuild之后,就会找到生成的aar和jar的包了,分别在不同位置:
但是每次都去文件夹里找的话会比较麻烦,因此我们可以直接编写一段代码来将arr和jar复制到自己规定的路径下,方便获取拷贝,首先将刚刚生成的在路径的jar删除,然后在将生成的jar复制到希望的路径下面,将它进行重命名。
最后我们就可以通过执行上述方法,然后在对应的文件夹路径下找到它啦。