Unity如何打包Apk能压缩资源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity如何打包Apk能压缩资源相关的知识,希望对你有一定的参考价值。

如何在unity中打包apk能有效的压缩资源,比如图片的大小,我发现直接修改图片的大小之后打包好像不能压缩资源,打出来的包都是原来的大小。谁能告诉下如何能压缩资源

unity3d开发3d游戏,不可避免的要用到大量的模型、图片和其他资源。通吃一个游戏Apk包才几兆大小,但是资源却又几十兆上百兆,甚至几百兆。可以把apk单独发布,然后资源包单独拷贝到SD卡里面采用文件方式访问。但是这样操作比较麻烦。发布游戏如果采用这种方式,那受众可能接受不了。还有一种方式就是把资源包打包进APK包里面,这样发布的时候,用户只用安装一个Apk包就行了,但是这样带来的问题就是Apk包比较大。

那么怎么样把资源包打包进APK包里面呢?其实很简单,只要在项目文件夹里面新建一个StreamingAssets文件夹,将要打包的各种资源文件放到该目录下面就可以了。这样资源就被打包进Apk包里面的Assets文件夹里面了。这里面的资源通过什么目录访问呢,其实也挺简单 "jar:file://" + Application.dataPath + "!/assets" 就是访问该目录的路径,如果实在ios平台,路径则是 Application.dataPath +"/Raw",这里面一定要注意文件路径大小写,这里面是区分大小写的,如果不注意这个问题,可能就会资源加载不了的问题。所以项目的命名规范一开始就要做好。
参考技术A 如果压缩了,会在解压时很耗费设备运算能力的

UNITY 打APK是如何确定哪些资源有用哪些无用的

一切从build settings开始,它即是 构建列表,构建运行包它然从它开始。

1,只有在构建列表中的场景和场景引用资源才会被打进包里,其它资源除了2,3位置都不会被打包

2,streammingAssets下的所有东西都会被打进包里

3,resources文件夹下的所有东西都会被打进包里

4,Assets下的任何位置的脚本资源(UNITY脚本.cs, js, )都会无条件打进包里,不管有没有用到。

其它脚本不认,如LUA,除非放在2,3两个特殊文件夹下才会被打包

 

以上是关于Unity如何打包Apk能压缩资源的主要内容,如果未能解决你的问题,请参考以下文章

Unity打包APK 资源分离包

Unity自动打包Apk

unity游戏开发之打包apk谷歌上架报错总结

Unity 加载资源

Unity自动打包 apk

理解使用Gradle编译打包Android apk