Unity移动平台相关(一)Android打包设置

Android发布流程

Unity2019及以上

发布Android准备工作

通过UnityHub安装Android平台相关工具

1.Android构建支持

2.Android SDK(安卓软件开发工具包)、NDKTools(本地开发工具包)

3.OpenJDK(Java开发工具包)

注意:Unity支持Android 5.1及以上版本

Unity2019以下版本

1.Android构建支持工具安装(Unity提供下载,安装时需要关闭Unity)

2.JDK(Java开发工具包)(网络下载) JDK 必须是版本 8

https://www.oracle.com/java/technologies/downloads/#jdk18-windows

3.NDK (本地开发工具包)(网络下载)NDK 版本必须是 Unity2018——r16b, Unity2017——r13d

注意:NDK是可选的工具,如果之后要发il2cpp的应用程序,那么NDK是必须的,如果是Mono可以不使用它

https://blog.csdn.net/momo0853/article/details/73898066

https://developer.android.google.cn/ndk/downloads/#lts-downloads

4.Android SDK(安卓软件开发工具包)(网络下载或通过AndroidStudio下载)

建议通过AndroidStudio下载

https://developer.android.com/studio

安装AndroidStudio后 通过它来安装AndroidSDK

5.Java环境变量配置

我的电脑——>系统属性——>查找——>系统环境变量——>环境变量

5-1:JAVA_HOME: 变量值为JDK在你电脑上的安装路径

安装好后可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径

5-2:Path: 编辑Path属性,在原变量后追加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

5-3:CLASSPATH: 变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

发布前必修改的设置

在File —— Build Setting —— Player Setting中修改

1.公司名

2.游戏项目名

3.版本号

4.默认图标

5.Other Settings —— Package Name(必须修改设置)

6.Other Settings —— Minimum APILevel

Unity发布参数

Build Settings 参数

在这里插入图片描述

Texture Compression

纹理压缩
设置发布后的纹理压缩格式

在这里插入图片描述

**Use Player Settings: 使用在播放器设置中设置的纹理压缩格式
ETC:使用ETC格式
ETC2:使用ETC2格式
ASTC:使用ASTC格式
DXT:使用DXT格式
PVRTC:使用PVRTC格式

了解格式详细信息:https://docs.unity.cn/cn/2021.3/Manual/class-TextureImporterOverride.html#android

注意:对于安卓ETC2是常用的压缩格式,支持透明通道。但是对于老设备不支持ETC2,可以使用ETC。
我们可以统一设置为ETC2,在下方的ETC2 fallback中设置,如果不支持ETC2,使用哪种压缩方式**

ETC2 fallback

ETC2回退
当Unity用于不支持ETC2的安卓设备时的RGBA纹理格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hefwjf1k-1665926395081)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901222221490.png)]

32-bit:32位
以全分辨率存储RGBA纹理,使用32位存储每个像素,质量最高,内存占用最多

16-bit:16位
以全分辨率存储RGBA纹理,使用16位存储每个像素,质量较低,纹理可能会丢失有价值的颜色信息,内存占用相对较少

32-bit, half resolution:32位,半分辨率
以半分辨率存储RGBA纹理,使用32位存储每个像素,由于是半分辨率,纹理会变得模糊,内存占用较小

注意:如果使用的不是ETC2压缩,大多数压缩格式,使用32-bit备用
取决于GPU支持什么

Export Project

导出项目
勾选后,不会发布成apk,而是会将Unity项目导出为可以导入Android Studio的Gradle项目

Symlink Sources

符号链接源
当勾选Exprot Project时,才能勾选此选项。
决定是否在Unity和导出的Gradle项目之间共享Java和Kotlin源文件
启用后,对于测试和迭代Java和Kotlin代码很有用,如果你重新导出Unity项目,你在导出的项目对之前的Java和Kotlin源文件的任何更改都会保留

如果你想导出后进行二次开发,建议勾选此选项

Build App Bundle (Google Play)

构建应用捆绑包
是否将应用程序作为Android应用捆绑包(AAB)
启用,发布出去是一个AAB(可以配合安卓进行二次开发)
禁用,发布出去是一个APK(直接就是一个可安装的应用程序)

Create symbols.zip

创建 符号压缩文件
符号文件可以帮助我们调试应用程序
Unity会生成一个包含本机Unity库的符号文件的包
它包含一个表,将活动内存地址转换为我们可以使用的信息,比如方法名,我们可以利用符号包来检测调试应用程序的信息**

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Md9E82MD-1665926395081)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901222330411.png)]

Disabled:不生成
Public:Unity生成一个公共符号为程序打包
公共符号文件包含将函数地址解析为人类可读字符串的信息,包小于调试符号的包
Debugging:Unity生成一个调试符号为程序打包
包含完整的调试信息和符号表,可以用来解析堆栈、将本机调试器附加到应用程序调试代码

Run Device

运行的设备
指定在哪个附加设备上测试生成
如果你连接了新设备或在列表中没有看到连接的设备
点击刷新Refresh

Build to Device

构建到设备
不创建完整的构建,而是将发生修改的单个文件直接部署到设备上
相对来说更加快速,方便调试

Development Build

开发模式构建
是否包含脚本调试符号和性能分析器到你的项目中,如果你想要调试应用程序,请选择该选项

Autoconnect Profiler

自动连接分析器
是否自动将分析器连接到生成的应用程序

Deep Profiling

深度剖析
是否启用深度剖析在分析器中,可以让分析器能够检测应用程序中每个函数调用,从而返回更加详细的分析数据
注意:该选项会降低脚本的执行速度

Script Debugging

是否允许调试应用程序的脚本文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nxHu7scv-1665926395082)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901223243427.png)]

Wait For Managed Debugger
是否等待托管调试器
程序在运行脚本代码之前是否等待调试器连接

Compression Method

压缩方法
Unity在构建时压缩项目中数据的方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLGU9POm-1665926395082)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901223442983.png)]

Default:默认使用ZIP,压缩效果略好于LZ4和LZ4HC,但是数据解压速度较慢
LZ4:使用LZ4,这时一种快速压缩格式,相对ZIP可以显著提高Unity应用程序的加载时间
LZ4HC:LZ4的高压缩版本,构建速度较慢,但是对于发布版本会产生更好的结果,相对ZIP可以显著提高应用程序加载时间

Max Texture Size

最大的纹理大小
用于本地开发时导入纹理的最大尺寸
减小最大纹理大小可以加快资源导入和平台切换

Texture Compression

纹理压缩
选择下面两个选项,可以加快资源导入和平台切换

No Override:使用默认设置
Force Fast Compressor:强制快速压缩
Force Uncompressed:强制解压缩

Player Settings相关

Player 基础设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5jWiewJ9-1665926395082)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901224319232.png)]

Icon 图标设置

设置在设备上显示的应用图标

Adaptive:运行在Android8.0及以上版本上的设备显示的应用图标
Round:运行在Android7.1及以上版本上的设备显示的应用图标
Legacy icons:运行在Android7.1以下版本上的设备显示的应用图标

Resolution and Presentation 分辨率和演示设置
Fullscreen Mode

全屏模式

Fullscreen Window:
全屏窗口(导航栏始终处于隐藏状态)
会缩放应用程序内容,为了匹配纵横比,可能会有黑边

Windowed:
窗口模式,窗口大小取决于应用程序分辨率

Resizable Window

课调整大小的窗口

设置用户是否可以调整应用程序窗口的大小

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0YDaJUb-1665926395083)(https://cdn.jsdelivr.net/gh/liuyingbor/imgHosting/img/image-20220901225112530.png)]

此设置可以安卓和平板电脑上的应用程序中启用多窗口功能
详情:https://developer.android.com/guide/topics/ui/multi-window#java

Hide Navigation Bar

是否隐藏顶部显示的导航栏

Render outside safe area

是否应使用所有可用的屏幕控件进行渲染
包括留海区域

Optimized frame Pacing

是否应均匀分布帧以减小帧速率的方差,启用后体验更流程

Resolution Scaling分辨率缩放
Resolution Scaling Mode

分辨率缩放模式

Disabled:禁用
不应用分辨率缩放,应用程序呈现为设备的本机屏幕分辨率

Fixed DPI:使用API应用分辨率缩放,使用此选项可优化性能和电池寿命

Target DPI:如果设备的本机屏幕DPI高于设置的值,Unity将降低应用程序的分辨率以匹配此设置
计算方式:
Min(Target DPI * Factor / Screen DPI,1)
其中Factor是在Quality质量设置中设置的 Resolution Scaling Fixed DPI Factor参数

Reset resolution on window resize:

当本机窗口大小更改时,是否将屏幕分辨率设置为新的本机窗口大小
如果分辨率缩放模式是Fixed DPI,则将重新计算分辨率

Blit Type:

光高类型
是否使用Blit将最终图像呈现在屏幕上

Always:总是让Unity渲染到屏幕外的缓冲区,然后使用Blit将缓冲区的内容复制到设备的帧缓冲区(这和大部分设备兼容,但比不用Blit慢)

Nerver:Unity将渲染到设备操作系统提供的帧缓冲区,如果失败,会有警告信息打印到日志当中。通常比使用Blit块,但是不兼容所有设备

Auto:Unity会渲染到设备操作系统提供的帧缓冲区,如果失败,会打印到日志中,并使用Blit将最终图像呈现到屏幕上

Supported Aspect Ratio:支持的纵横比

Orientation:屏幕取向

Aspect Ratio Mode:

指定应用程序支持的最大纵横比。

如果设备的纵横比大于此纵横比,Unity会将此纵横比用于应用程序,并添加黑条,使应用程序不会拉伸

Legacy Wide Screen(1.86):支持android的传统宽屏宽高比

Native Aspect Ratio:支持Android本机宽高比的宽高比

Custom:自定义纵横比

选择自定义纵横比时可以自己设置

Default Orientation:

默认取向

指定应用程序使用的屏幕方向(横屏、竖屏设置)

Portrait:竖屏(应用程序窗口底部和屏幕底部对齐)
Portrait Upside Down:竖屏倒置(应用程序窗口底部和屏幕顶部对齐)
Landscape Right:右横屏(应用程序窗口右侧和屏幕底部对齐)
Landscape Left:左横屏(应用程序窗口左侧和屏幕底部对齐)
Auto Rotation&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值