前言
在网上搜索 Unity 和 Android 的混合开发,一般可以查到,大致分为两种方案:
以 Unity 主导的开发,Android 提供 JAR 包或 AAR 包,导入到 Unity 作为插件,最后由 Unity 开发打包 APK;(对 Unity 技能要求高点)
以 Android 主导的开发,Unity 导出 Android 项目,再以 Module 方式或 AAR 方式引入到 Android 工程项目中,最后由 Android 开发打包 APK;(对Android 技能要求高点)
但是这两种方式都有不足的地方:
方式1,对 Android 开发人员不够友好,Android 工程,只能运行 Android 端的代码,不能同步 Unity 端代码,每次 Android 端修改代码都要导出包给 Unity 开发,通过 Unity 来调试;另外,如果有依赖第三方库,每次改完Android 工程的,还得修改 Unity 的 Android 插件配置的;(使用常规的方式,第三方库不支持打包进 aar)
同样,方式2,对 Unity 开发人员不够友好,Unity 端只能运行 Unity 代码,不能同步运行 Android 端代码,每次改完都要导包给 Android 端验证;
这两种方式,都增加了 Android 端和 Unity 端的开发测试成本(只能单方开发测试)和沟通成本(虽然导包给对方的流程可以直接通过 Git 上传包文件到对方的项目工程,但开发阶段,需要太频繁上传包来测试,频繁沟通也挺费时间的)。需要三个Git 工程:Unity 工程、Unity 导出的 Android 工程、Android 工程。