// TODO(b/130759565): add check for PlayerSettings.productName public virtual bool Initialize(BuildToolLogger buildToolLogger) { // See https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html if (!AndroidArchitectureHelper.UnityVersionSupported) { buildToolLogger.DisplayErrorDialog( "This version of Unity doesn't support 64 bit libraries, which are required by Google Play." + " Please upgrade Unity to version 2017.4.16 or later."); return(false); } // Try to determine whether this is intended to be a release build. if (_apkSigner.UseDebugKeystore() || EditorUserBuildSettings.development) { // Seems like a debug build, so no need to do release build checks. return(true); } if (!HasIconForTargetGroup(BuildTargetGroup.Unknown) && !HasIconForTargetGroup(BuildTargetGroup.Android)) { buildToolLogger.DisplayErrorDialog( "Failed to locate a Default Icon or an Android Icon for this project. " + "Check Player Settings to set an icon"); return(false); } string message; switch (AndroidArchitectureHelper.ArchitectureStatus) { case AndroidArchitectureHelper.Status.Ok: return(true); case AndroidArchitectureHelper.Status.ArmV7Disabled: message = "ARMv7 and " + Arm64RequiredDescription + Il2CppRequiredDescription; break; case AndroidArchitectureHelper.Status.Il2CppDisabled: message = Arm64RequiredDescription + Il2CppRequiredDescription; break; case AndroidArchitectureHelper.Status.Arm64Disabled: message = Arm64RequiredDescription; break; default: throw new ArgumentOutOfRangeException(); } message += "\n\nClick \"OK\" to enable an IL2CPP build for ARMv7 and ARM64 architectures."; if (buildToolLogger.DisplayActionableErrorDialog(message)) { AndroidArchitectureHelper.FixTargetArchitectures(); } return(false); }
// TODO(b/130759565): add check for PlayerSettings.productName public virtual bool Initialize(BuildToolLogger buildToolLogger) { // Try to determine whether this is intended to be a release build. if (!_jarSigner.UseCustomKeystore || EditorUserBuildSettings.development) { // Seems like a debug build, so no need to do release build checks. return(true); } if (!HasIconForTargetGroup(BuildTargetGroup.Unknown) && !HasIconForTargetGroup(BuildTargetGroup.Android)) { buildToolLogger.DisplayErrorDialog( "Failed to locate a Default Icon or an Android Icon for this project. " + "Check Player Settings to set an icon"); return(false); } string message; switch (AndroidArchitectureHelper.ArchitectureStatus) { case AndroidArchitectureHelper.Status.Ok: return(true); case AndroidArchitectureHelper.Status.ArmV7Disabled: message = "ARMv7 and " + Arm64RequiredDescription + Il2CppRequiredDescription; break; case AndroidArchitectureHelper.Status.Il2CppDisabled: message = Arm64RequiredDescription + Il2CppRequiredDescription; break; case AndroidArchitectureHelper.Status.Arm64Disabled: message = Arm64RequiredDescription; break; default: throw new ArgumentOutOfRangeException(); } message += "\n\nClick \"OK\" to enable an IL2CPP build for ARMv7 and ARM64 architectures."; if (buildToolLogger.DisplayActionableErrorDialog(message)) { AndroidArchitectureHelper.FixTargetArchitectures(); } return(false); }