最近学习了Unity与Android交互,看了许多相关的文章,写篇博客记录以下具体过程。
使用 U3D与Android的交互,首先需要对Unity进行JDK、SDK、NDK配置。Unity每个版本对于JDK、SDK、NDK的版本都有特定的要求,配置需要下载准确的版本(一定要注意!!!!!配置版本不对会出现各种Bug!!)。
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的过程中出现莫名其妙的报错。如果是自己下载配置路径,一定要注意版本!!!
1.Android项目:
(1)新建一个安卓项目:
(2)项目中新建一个Moudle,选择Android Libiary,名称随便取:
(3) 在新建模块的src->main->java->com.xxx.xxx下新建一个Class:
在类中写一个简单的方法用于反馈交互信息:
编写完毕后选择 添加的模块(本文的模块名为tounitylib)进行ReBuild Project :
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代码:代码很简单,看注释
player Settings对公司名、包名进行修改(包名必须修改否则可能报错):
修改完成后返回Build Settings,点击Build或Build And Run(本文使用真机测试,直接点击Bilid And Run--生成APK并运行。若点击Build则只生成Apk包,可在模拟器或真机中安装该APK文件)。点击后输入文件名与保存位置。
打包完成项目成功运行后,点击按钮,并到Android Studio 日志查看反馈。
手机运行打包的APK:
Android Studio打印的日志:
到此Unity与Android的交互过程完成。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删