Unity调用Android SDK实现教程

最近学习了Unity与Android交互,看了许多相关的文章,写篇博客记录以下具体过程。

Unity配置:

使用 U3D与Android的交互,首先需要对Unity进行JDK、SDK、NDK配置。Unity每个版本对于JDK、SDK、NDK的版本都有特定的要求,配置需要下载准确的版本(一定要注意!!!!!配置版本不对会出现各种Bug!!)。

modules文件(该文件为JSON文件,文件中有该Unity版本需要的JDK、SDK、NDK的下载URL,自己去下载SDK版本不对容易踩坑。):

android sdk unity 调用 unity安卓sdk_android

android sdk unity 调用 unity安卓sdk_压缩包_02

modules文件(记事本就行)复制内容,找一个JSON数据格式化网站格式化下。Ctrl+F搜索android,我们需要找到以下内容(如果找不到下图的内容,检查Unity是否添加了Android Build Support模块):


1)Android Build Support

android sdk unity 调用 unity安卓sdk_unity_03

复制downloadUrl进行下载, 下载后进行安装。注意json文件中destination,destination表示你需要将文件安装在该位置。图中为{UNITY_PATH},表示你的编辑器安装的根目录,即modules文件的上层目录。如我的安装目录为:D:\UnityEditors\2020.3.8f1c1。安装完成后打开D:\UnityEditors\2020.3.8f1c1\Editor\Data\PlaybackEngines\AndroidPlayer,内容如下(SDK、NDK、OpenJDK是自己新建的,后面会讲):

android sdk unity 调用 unity安卓sdk_压缩包_04

        (2)Android SDK & NDK Tools

     

android sdk unity 调用 unity安卓sdk_unity_05

同样点击Url进行下载,下载后将文件解压在 Editor\Data\PlaybackEngines\AndroidPlayer\SDK中(SDK文件夹是自己新建的),解压后是一个名为tools的文件夹。

       (3)Android SDK Platform Tools

         

android sdk unity 调用 unity安卓sdk_压缩包_06

   同(2),下载解压到对应文件夹。

       (4)Android SDK Build Tools

android sdk unity 调用 unity安卓sdk_unity_07

点击URL下载后,注意这里与之前不一样的地方:destination下出现了两个字段:renameTo与renameFrom。我们打开下载的压缩包,可以看到下面的结构:

android sdk unity 调用 unity安卓sdk_压缩包_08

android-9的文件夹(不同版本的Uinty里面的文件可能不同),根据renameFrom,我们将它解压在SDK文件夹下。再看renameTo,它要求要有build-tools文件,我们再SDK下新建build-tools,将android-9改名为28.0.3并移动到build-tools文件中。目录结构如下:

android sdk unity 调用 unity安卓sdk_Android_09

       (5)Android SDK Platforms

android sdk unity 调用 unity安卓sdk_android_10

与(4)相同,下载压缩包,在SDK文件中新建platforms文件,将压缩包解压到platforms文件中,并将文件名android-10改为android-29。下载的文件与完成后目录如下:

       

android sdk unity 调用 unity安卓sdk_Android_11

android sdk unity 调用 unity安卓sdk_Android_12

      到这里SDK文件夹的所有内容都安装完了,SDK文件目录如下:

android sdk unity 调用 unity安卓sdk_压缩包_13

        (6) Android NDK

android sdk unity 调用 unity安卓sdk_Android_14

同(4)(5),下载NDK,新建NDK文件夹 ,将下载后的文件解压在NDK文件中,得到名为android-ndk-19的文件。注意,这里需要将android-ndk-19文件里的所有内容剪切到NDK文件中,之后删除android-ndk-19文件。

android sdk unity 调用 unity安卓sdk_unity_15

       (7) OpenJDK

android sdk unity 调用 unity安卓sdk_Android_16

点击URL下载JDK,在SDK文件夹下新建OpenJDK文件 ,将压缩包解压到OpenJDK文件中。

android sdk unity 调用 unity安卓sdk_android_17

到此Unity配置需要的文件都安装完成,接下来进行使用Unity进行路径配置。

打开Unity,新建一个Unity项目(该项目之后用于与Android交互)。点击Edit->Preferences,查看External Tools,会看到下图:

android sdk unity 调用 unity安卓sdk_unity_18

这样就配置完成了。

下面放下之前自定义路径配置出错的情况:

android sdk unity 调用 unity安卓sdk_android_19

上图是我自己下载JDK、SDK、NDK并自定义路径的情况。会发现出现了黄色感叹号,提示内容告诉你JDK、SDK版本不支持。导致后续在项目Build的过程中出现莫名其妙的报错。如果是自己下载配置路径,一定要注意版本!!!

        Unity与Android交互:

               1.Android项目:

     (1)新建一个安卓项目:

android sdk unity 调用 unity安卓sdk_Android_20

android sdk unity 调用 unity安卓sdk_unity_21

       (2)项目中新建一个Moudle,选择Android Libiary,名称随便取:

       

android sdk unity 调用 unity安卓sdk_Android_22

android sdk unity 调用 unity安卓sdk_unity_23

android sdk unity 调用 unity安卓sdk_unity_24

       (3) 在新建模块的src->main->java->com.xxx.xxx下新建一个Class:

android sdk unity 调用 unity安卓sdk_Android_25

在类中写一个简单的方法用于反馈交互信息:

android sdk unity 调用 unity安卓sdk_android_26

编写完毕后选择 添加的模块(本文的模块名为tounitylib)进行ReBuild Project :

android sdk unity 调用 unity安卓sdk_unity_27

tounitylib->build->outputs->aar目录下找到aar文件,右键点击Show in Explorer可查看该文件位置,该文件相当于将该模块集成为一个库,我们可以在Unity项目中使用它。

到此Android项目就完成了(先不要关闭,之后测试需要该项目控制台打印反馈)

android sdk unity 调用 unity安卓sdk_android_28

        (2)Unity项目

      Unity项目可以使用配置时的项目,也可新建一个。(因为这里先讲的Unity配置所以用之前的Unity项目)。打开Unity项目,点击File->Build Settings将平台转换为安卓:

android sdk unity 调用 unity安卓sdk_Android_29

转换完成后在Assets目录下新建Plugins->Android文件夹,将之前的安卓arr包放入:

android sdk unity 调用 unity安卓sdk_android_30

新建一个Button,并为其添加一个脚本用于测试(创建Button、添加点击事件这里就不多说了):

android sdk unity 调用 unity安卓sdk_压缩包_31

脚本Test代码:代码很简单,看注释

android sdk unity 调用 unity安卓sdk_Android_32

player Settings对公司名、包名进行修改(包名必须修改否则可能报错):

android sdk unity 调用 unity安卓sdk_Android_33

android sdk unity 调用 unity安卓sdk_unity_34

修改完成后返回Build Settings,点击BuildBuild  And Run(本文使用真机测试,直接点击Bilid And Run--生成APK并运行。若点击Build则只生成Apk包,可在模拟器或真机中安装该APK文件)。点击后输入文件名与保存位置。

android sdk unity 调用 unity安卓sdk_压缩包_35

打包完成项目成功运行后,点击按钮,并到Android Studio 日志查看反馈。

手机运行打包的APK:

android sdk unity 调用 unity安卓sdk_压缩包_36

Android Studio打印的日志:

android sdk unity 调用 unity安卓sdk_android_37

到此Unity与Android的交互过程完成。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空