Unity3D与Android交互(包括Unity3D的JDK、SDK、NDK配置)

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

       Unity配置:

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

        这里我用了一个博主的方法(原链接放到文末)。我使用unityHub安装的Unity Editor,找到你的Unity编辑器目录,找到目录下的modules文件(该文件为JSON文件,文件中有该Unity版本需要的JDK、SDK、NDK的下载URL,自己去下载SDK版本不对容易踩坑。):

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

        (1)Android Build Support

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

         (2)Android SDK & NDK Tools

       

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

        (3)Android SDK Platform Tools

           

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

        (4)Android SDK Build Tools

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

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

        (5)Android SDK Platforms 

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

        

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

         (6) Android NDK

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

        (7) OpenJDK

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

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

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

这样就配置完成了。 

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

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

         Unity与Android交互:

                1.Android项目:

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

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

        

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

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

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

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

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

         (2)Unity项目

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

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

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

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

         Unity项目打包:点击File->BiludSettings,点击player Settings对公司名、包名进行修改(包名必须修改否则可能报错):

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

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

手机运行打包的APK: 

Android Studio打印的日志:

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

Unity配置原文——》传送门

        

        

        

  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值