来点儿干货。目前网上绝对没有的。需要以下基础点。
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加载。 ? 祝你好运。。 ? ? ? |