当前位置: 代码迷 >> Android >> Unity3d 暖更新之Android平台
  详细解决方案

Unity3d 暖更新之Android平台

热度:650   发布时间:2016-04-28 04:10:51.0
Unity3d 热更新之Android平台

来点儿干货。目前网上绝对没有的。需要以下基础点。

1.代码如何编译成.dll?这个网上有很多的。

2.在unity3d中如何使用第三方的.dll库文件。这个网上也有很多。

3.如何把asset打包成.ab.这个网上也有很多。。

4.在unity3d中如何加载.ab包中的资源,这个网上也有很多。

5.在Android平台如何使用反射来进行热更新。这个网上没有,也是我今天要表达的一个东东。。

?

先看下unity官方大大的描述:

?

对于iOS来说,暂时是没有非常高效的办法的,主要原因是iOS禁用了Reflection功能。
而目前确实有团队正在使用Unity+Lua的方案来进行iOS平台上的热更新,但是我们官方暂时无法对其进行相应的技术支持。主要原因如下:
1、苹果官方规定禁止在应用中使用动态更新脚本的功能。虽然目前Unity中嵌入Lua的方案是可行的,但我们官方不会公然违背苹果的意愿;
2、就我们目前所做过的测试以及通过某些游戏来看,Unity+Lua的方案在3D游戏上效率较低。
基于上述两个原因,我们决定暂时不会做iOS平台上的代码热更新服务。

对于Android平台,可直接使用Reflection功能来实现代码的热更新,即通过将assembly dll以TextAsset的方式通过Assetbundle来进行加载。热更新时,则可以通过更新相应的Assetbundle来达到热更新的目的。
http://docs.unity3d.com/Manual/scriptsinassetbundles.html

?

大概了解了吧。所以我介绍下Android平台下的热更新。

?

流程:

代码->编译成.dll->修改后缀为.bytes->build Ab->WWW加载。

?

祝你好运。。

?

?

?

  相关解决方案