近期接到了一个新的需求是接入台湾版的SDK。从SDK提供商那边拿到的分别是Android端和iOS端的两个包,没有直接提供支持Unity接入的unityPackage,那就只能分开接入了。本文描述的是接入Android端的过程,以及血泪史。。

        Android端拿到的是一个aar包,里面是一些API供Android原生调用,要放入Unity供Unity调用的话,是需要接入UnityPlayerActivity,我的思路就是创建一个Android Library引用SDK包,并编写供Unity调用的函数,然后导出aar包。将这个aar包及SDK的aar包放入Unity使用。

        那么就先开始创建一个项目吧。

填写项目信息 对应的Unity中的packageName 选择API 选择Empty Activity 填写Activity名字

        要编写供调用的函数首先要找到Unity提供的 classes.jar 这个包,文件的位置在你的Unity安装项目目录:Unity -> Editor -> Data -> PlaybackEngines -> AndroidPlayer -> Variations -> il2cpp -> Release -> Classes。如果找不到Unity安装目录可以右击桌面的Unity图标,选择“打开文件所在的位置”,就能够到达Data文件夹,然后逐级往下找就能找到啦。

就是它

        接下来要做的就是将classes.jar文件导入Android Studio的libs文件夹中,点击app,然后双击libs文件夹就能找到libs的位置了,然后复制jar包,粘贴进去。

找到libs 加入classes.jar

       导入后,需要在app级的build.gradle中加入引用(如下),这样就可以使用这个jar包了~

implementation files('libs/classes.jar')

配置gradle文件

        点击右上角的Sync Project with Gradle Files按钮,或者提示条上的Sync Now可以检查build.gradle文件有没有出错。

Sync Project

        这个时候,重复上述导入jar包的步骤就可以导入SDK的aar包了,同样放在libs文件夹中,并在build.gradle里面配置引用,并且配置aar包需要的其他配置。aar包的引用配置跟jar包一样:

implementation files('libs/包名.aar')

dependencies配置

        这时候可以在MainActicity.java文件中写Unity交互代码了!本文就不赘述代码的编写了,将在另一篇文章中写Unity和Android交互。

        写完Java代码后,就要开始导出aar包了,在导出aar包前还有一些事情要做,就是修改build.gradle配置。我们在新建一个Android Studio项目时,默认设置为application,这时候build的话会获得一个apk包,所以要修改。

applyplugin:'com.android.library'

修改build配置

        这时将复制一份AndroidManifest文件供导入Unity使用,然后修改项目中的AndroidManifest文件:

修改后的AndroidManifest

        然后修改activity_main.xml文件

修改后的activity_main.xml

        点击Build -> Build Bundle(s)/APK(s) -> Build APK(s) 打包

打包

        这时候会获得一个app-debug.aar的包,位置如图

aar包位置

         在导入Unity之前,需要删除这个aar包中的classes.jar以及引用的sdk包,不然在Unity打包的时候会发生冲突。如图,找到aar所在位置,右击打开aar,找到libs文件夹,删除里面的文件。

找到文件所在位置 右击打开 找到libs文件夹 删除这两个文件

        然后将这个文件拖入Unity项目,并且把sdk包拖入Unity项目中,同时还有AndroidManifest文件以及Unity中需要配置的gradle文件。其中,AndroidManifest文件可以直接从自己的项目中拷贝出来,gradle文件需要复制Unity提供的模板文件,然后进行修改。找到Unity项目Unity -> Editor -> Data -> PlaybackEngines -> AndroidPlayer -> Tools -> GradleTemplates,复制 mainTemplate.gradle 文件到Unity项目中。

gradle文件 导入Unity后

        打开 mainTemplate.gradle 文件,找到dependencies,将之前在Android Studio项目中所写的SDK所需配置复制到里面,就完成Unity的build配置了。

mainTemplate.gradle

        打开导入Unity的AndroidManifest文件,做一些修改

Unity中的AndroidManifest

        接下来就可以在Unity中编写代码了,写完就可以打包了。

        在Unity中使用Gradle打包将写于下一篇文章。

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  7. 使用NDK移植开源项目,JNI的使用技巧
  8. Android(安卓)Jni开发之Android(安卓)Studio中创建Jni程序
  9. Android实践系列之项目基础配置

随机推荐

  1. Android深入浅出视频中的总结
  2. OpenCV 下载驿站(百度云盘下载,同步更新)
  3. android 之 广播相关
  4. android加载字体内存泄漏的处理方法
  5. Android开发Android(安卓)studio之gradle
  6. Activity的启动模式和悬浮窗
  7. Android ROM开发
  8. Android动画之帧动画
  9. jenkins搭建及基础配置
  10. Mac os下android源码下载及安装