unity5 assetbundle 发布资源平台的大坑。程序发布成exe后执行与编译器内不同的问题解决。
2016-10-13 16:30
1061 查看
这段时间把动态加载页做的差不多了,于是想要再发一个版本出来。在编译器里面完美运行后,点击发布
注意看 选的是64位的噢。
发布出来 运行后。发现 我去 我要动态加载的图片都没有!!!这特可怎么办。
发布出来运行 和 编译器里面运行不该一样的么?
最后找到的原因!
打包资源这个函数最后一个参数就是平台
好,问题来了。
我尽管选择的是64位发布,但事实上,运行时他还是认为以32位的环境。
!!
!!所以你需要再准备一套32位的标准资源。这样他发布出来才会执行!!
!!
如果你是64位编辑器 那么选择64位平台 32位选择标准平台。
平台不同 是不能加载的。虽然64位平台可以兼容32位的。但是如果你发布的是32位他默认也是32位。
这个一定要设置清楚,要不可能会被坑苦。
再告诉你们一些 程序发布出来后的测试技巧。
1.发布设置中勾选后,你代码中的debug.logerror 会弹出来。但是debug.log并不会弹出来。
2.想要更清楚的了解你的代码运行情况,你可以在生成的文件内找到
这个文件。里面有你详细的debug 信息。根据这个文件可以很快速的找到,问题的所在。
3.在下载ab(asset bundle)包时,大家很可能用的是WWW.LoadFromCacheOrDownload(Path, Version);
这个方法在你下载过一次后 如果版本号没有变,即使资源内容变了,他也不会再重新下载,因为在正式发布之前肯定需要很多的测试。总不能总是调整版本号。
所以你需要 //清除缓存 Caching.CleanCache();
这个方法。贼好用 相信我。
注意看 选的是64位的噢。
发布出来 运行后。发现 我去 我要动态加载的图片都没有!!!这特可怎么办。
发布出来运行 和 编译器里面运行不该一样的么?
最后找到的原因!
BuildPipeline.BuildAssetBundles(m_outPath, BuildAssetBundleOptions.None, (BuildTarget)m_BuildTarget);
打包资源这个函数最后一个参数就是平台
GamePlatform _Platform = GamePlatform.StandaloneWindows64; #if UNITY_EDITOR _Platform = GamePlatform.StandaloneWindows64; #elif UNITY_IPHONE _Platform = GamePlatform.iOS; #elif UNITY_ANDROID _Platform = GamePlatform.Android; #elif UNITY_STANDALONE_WIN _Platform = GamePlatform.StandaloneWindows; #endif
好,问题来了。
我尽管选择的是64位发布,但事实上,运行时他还是认为以32位的环境。
!!
!!所以你需要再准备一套32位的标准资源。这样他发布出来才会执行!!
!!
如果你是64位编辑器 那么选择64位平台 32位选择标准平台。
平台不同 是不能加载的。虽然64位平台可以兼容32位的。但是如果你发布的是32位他默认也是32位。
这个一定要设置清楚,要不可能会被坑苦。
再告诉你们一些 程序发布出来后的测试技巧。
1.发布设置中勾选后,你代码中的debug.logerror 会弹出来。但是debug.log并不会弹出来。
2.想要更清楚的了解你的代码运行情况,你可以在生成的文件内找到
这个文件。里面有你详细的debug 信息。根据这个文件可以很快速的找到,问题的所在。
3.在下载ab(asset bundle)包时,大家很可能用的是WWW.LoadFromCacheOrDownload(Path, Version);
这个方法在你下载过一次后 如果版本号没有变,即使资源内容变了,他也不会再重新下载,因为在正式发布之前肯定需要很多的测试。总不能总是调整版本号。
所以你需要 //清除缓存 Caching.CleanCache();
这个方法。贼好用 相信我。
相关文章推荐
- 关于unity 中使用AssetBundle加载资源,shader偶尔会丢失的问题解决办法
- 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
- unity5.5 解决打包图片到AssetBundle中尺寸变化问题
- CGYWIN 编译的可执行程序在WINDOWS平台中运行时,解决system函数不能使用的问题
- [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题
- CGYWIN 编译的可执行程序在WINDOWS平台中运行时,解决system函数不能使用的问题
- [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- 执行EXE程序出现unable to locate suitable Java runtime Environment on this machine java解决方法
- 新版数采仪问题解决全记录-烧写程序不能正确执行
- VC6.0 工程转到VS2008一些问题的描述及解决方法(附有VS2008发布程序介绍)
- 解决“您试图从目录中执行CGI、ISAPI 或其他可执行程序...”的问题
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- 解决FLASH发布成EXE文件后,不能正确加载本地文件的问题
- 无法将程序发布到symbol得mc1000 问题解决办法
- 使用委托解决不同系统加载程序问题
- 手工将python程序发布为exe执行程序 [转]
- 解决扩展MFC DLL与主程序资源冲突问题
- 如何解决新的发布,却出现读不到新的更新程序问题
- 解决程序退出时死锁和内存或资源泄露的问题