2021/09/16
按照项目经理的要求,需要将我们的SDK封装一下,就是不能让别人轻易看到一些逻辑的
老样子,开始百度找资料
一开始,没有经验,百度“Android SDK制作”、“Android打包Unity SDK”。。。
都无果,后来偶然看到一些链接说,Android Studio用的SDK都是jar或者arr
如此,就开始百度“Android 打包 Unity为arr”找到这个链接,但是unity版本是旧版本Unity3D项目集成Android原生工程进行App开发(一)https://blog.csdn.net/weixin_43975743/article/details/114819370
Unity3D项目集成Android原生工程进行App开发(二)https://blog.csdn.net/weixin_43975743/article/details/114931367
后来就百度“aar制作“,出现了一个大佬写的工具,但是过时了😱
[Unity]Unity一键生成AAR包https://blog.csdn.net/zp288105109a/article/details/81569079都没有做出来,但是,从这些链接里我发现,其核心原理都是抽离资源文件,只保留核心逻辑,然后只打包library。
结合新版Unity打包方式的变化:将Luncher和unitylibrary分开。我就抱着试试的心态,尝试了一下,竟然可以制作。Unity手册适用于 Android 的 Gradlehttps://docs.unity3d.com/Manual/android-gradle-overview.html
- Unity打包时设置为il2cpp方式,并选择ARM64,不然在新的AS项目中真机运行时会报错找不到.so文件
- 使用Android studio打开Unity打包好的项目,如下图所示
- 确认这里是不是两行,不然在新的AS项目中真机运行时会报错找不到.so文件
- finish时闪退和桌面上会有两个图标参考链接,解决方法如下Integration Unity as a library in native Android app Version 2
https://forum.unity.com/threads/integration-unity-as-a-library-in-native-android-app-version-2.751712/
- 注释这里以实现自定义view大小的功能
- 鼠标左键选中unityLibrary,依次进行操作最终生成arr文件
- 新建项目并将上一步生成的arr放入app/libs文件夹下
- 添加引用
- 创建新activity
- 检查AndroidMainfest中是否添加对应activity否则会闪退并报错
- 修改一下MyUnityActivity代码
- 修改activity_my_unity.xml
- 修改activity_main.xml
- 简单实现画面跳转逻辑
- 运行报错:android.content.res.Resources$NotFoundException: String resource ID #0x0,作者在这里卡了一天,加班也没有找到原因,后来在这个大佬的帖子里看到他说的一句:要添加一个string resource 但是他也不知道原因。果断尝试一下真的就可以用了,非常感谢这位大佬。看第六点
https://blog.csdn.net/qq_40028144/article/details/108058407
- 在string.xml中添加对应字段
- Finish闪退问题:在MyUnityActivity的配置项中添加新的线程
- 真机运行,效果如下,大功告成。
Unity集成到AndroidStudio