android融合存储,Unity与Android的融合之旅

前面的话

我原本是做unity开发的,对于Andrid的了解也就最粗浅的阶段,由于项目需求,需要进行unity和Android的原生项目融合,被逼上梁山.通过各种百度,终于将unity项目的Android项目进行了融合,此次融合使用的unity版本是2018.1,Android方面使用的是Android Studio3.0(朋友推荐反正刚接触安卓,直接看这个)

Unity部分

Unity导出到Android平台的时候,在设置好了相应的Android环境以后,可以直接导出apk的安装程序,也可以导出Android的工程文件,由于我们需要和原生的Andorid程序进行融合所以我们需要导出的就不是apk的安装包,而是一个Andorid工程.为了能导出可供融合的Android工程需要在Unity中进行一些设置.

主要是将BuildSettings中的 Build System 更改为Gradle,勾选Export Project就可以导出供Android Studio使用的工程了.其他的和导出APK的设置一样

f553991b5417

看网上说,需要把包名设置成和Android工程的包名一样的,但经过我自己的测试,其实不一样也没有什么关系,根据我的猜测可能是我将这个工程作为了第三方库(AS中叫Module)导入到Android工程中,自身的工程设置不会改变.

所以就算和Andorid原来工程的包名不一样也没有太大关系.

点击Export后找个地方用来存放工程文件,经过一段时间的等待,如果unity工程没错,应该就可以成功导出一个工程了,导出的工程都长这样.

f553991b5417

到这里unity里面的操作就完成了,可以说很简单,和平常的没什么差别.接下来就轮到了Andorid里面的操作了.

Andorid部分

打开Andorid Studio 的原生工程,然后以Module的方式将Uniyt的导出的工程导入到Android的原生工程中

f553991b5417

点击这个ImpotrModule以后就有一个界面供里选择你要导入的工程的位置,选中以后,会出现一个moduleName的选项,这个是可以编辑的,是显示在Andorid Studio里面这个导入的工程的名字

f553991b5417

导入以后切换到Project中(我是小白,表示感觉这样找到文件位置改起来放心点,主要是build.gradle太多,作为小白的我有点懵,虽然后来发现,其实在Andorid的模式下,这些后面都会跟一个路径)

融合的重点来了

首先我们找到导入的这个工程里面一个叫build.gradle的打开

f553991b5417

看到的基本就是这样了的需要修改的只要是以下一个地方

1.将 apply plugin: 'com.android.application' 更改为 apply plugin: 'com.android.library'

2.将 compileSdkVersion minSdkVersion targetSdkVersion 设置成和原生工程中的一样

删除掉applicationId这一行

这么做是将这个工程修改成android studio的一个库,来让其他工程调用他

然后我们找到导入的这个工程里面一个src文件夹下的AndroidManifest.xml文件,这个是Andorid的配置文件,这里需要对导入的这个工程进行配置更改,因为unity导出的这个工程默认是作为一个可以发布的安卓工程,而不是一个库

f553991b5417

如果你的看起来不是这么规整,那么你可以全选这些代码,然后按ctrl+alt+L将这些代码格式化,看起来就好看多了

这里需要修改的是一下几个地方

1.删除下面的这个代码,如果不删除安装后在手机上会有2个文件

2.删除这个标签里面的下面三项

android:icon="@drawable/app_icon"

android:label="@string/app_name"

android:theme="@style/UnityThemeSelector"

到这里对于导入工程的设置就完成了

然后我们需要在原生工程中设置对这个修改好的工程的依赖

f553991b5417

f553991b5417

QQ图片20180713163018.png

这样就添加对于unity导出的工程的依赖

融合的配置方面就完成的,剩下的就是对于根据需求再次开发了

警告

PS警告不应该写在最前面吗?

写最前面我上的当不是白上了.

1.一切正常,测试时提示说你的硬件设备不支持该App,恭喜你中奖了,原因有很多,其中有一种可能是你在untiy中的设置导致的

f553991b5417

Target Architetures 需要选中ARMv7和x86

f553991b5417

对于这个错误我实在是无力吐槽,我找了好久都没找到27.1.1的平台,百度答案也是五花八门,最后无意中发现其实根本不需要管,或者是前强迫症患者,也可以rebuild Porject 就消失了

最后的话

由于本人是Android的小白一枚,在此过程中碰壁无数,写在这里也只是为了给自己留个痕迹,以防在以后遇见这种需求的时候可以参考,毕竟主业不是做Android的.如果有大佬能指正小弟,在此感激不尽.

最后感谢各位看到这里!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值