c#-通过脚本统一设置播放器设置目标架构

我有自定义的构建脚本,我想在其中添加更多选项.
目标架构是其中之一. (我将IL2CPP用作脚本后端-我通过脚本进行设置)

在这里,您可以查看要更改的设置:

根据docs,我可以使用PlayerSettings.SetArchitecture(),但似乎根本不适合我.它只有0-无,1-ARM64,2-通用的选项,我想要全部.所以我尝试使用:

PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.All));

但它不会改变任何东西,下面的几行也不会改变任何东西:

PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.ARM64));
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.ARMv7));
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.X86));

我想知道如何正确地做到这一点?

解决方法:

PlayerSettings.SetArchitecture函数的第二个参数期望None表示0,ARM64表示1,Universal表示2.这不是您真正想要的.

使用问题中的屏幕快照,您正在寻找PlayerSettings.Android.targetArchitectures属性,该属性可用于将ARM64,ARMv7或X86设置为带有AndroidArchitecture枚举的构建体系结构.

要仅设置一种体系结构:

PlayerSettings.Android.targetArchitectures = AndroidArchitecture.X86;

要仅设置多个体系结构,请使用枚举标志,因为AndroidArchitecture是使用Flags属性声明的,该属性允许使用按位操作来选择多个值:

AndroidArchitecture aac = AndroidArchitecture.ARM64 | AndroidArchitecture.ARMv7 | AndroidArchitecture.X86;
PlayerSettings.Android.targetArchitectures = aac;

要么

AndroidArchitecture aac = AndroidArchitecture.ARM64;
aac |= AndroidArchitecture.ARMv7;
aac |= AndroidArchitecture.X86;   
PlayerSettings.Android.targetArchitectures = aac;

您可以了解有关枚举标志here的更多信息.

如果您只想使用所有架构,则只需使用AndroidArchitecture.All.

PlayerSettings.Android.targetArchitectures = AndroidArchitecture.All;

相关文章

前言 本文记录unity3D开发环境的搭建 unity安装 unity有中文...
前言 有时候我们希望公告牌跟随镜头旋转永远平行面向屏幕,同...
前言 经过一段时间的学习与实际开发,unity3D也勉强算是强行...
前言 在unity中我们常用的获取鼠标点击的方法有: 1、在3D场...
前言 在之前的例子中,我们都没有用到unity的精髓,例如地形...
这篇文章将为大家详细讲解有关Unity3D中如何通过Animator动画...