问题解决的总结

报错:
ArgumentNullException: Value cannot be null.
Parameter name: path1
System.IO.Path.Combine (System.String path1, System.String path2) (at…
(此处省略一堆红字)

首先要确保自己的 jdk 版本满足 Unity 的要求,也不必费心去找, UnityHub 中的 Unity2019.4.0f1 给出了一个方便的方法:

打开 UnityHub -> 安装 ->点击需要的Unity2019.4.0f1版本右上角的3个点->添加模块

如下图:

unity ios打包sdk unity2019打包_System

在弹出的这个窗口,点击那个下拉菜单的箭头。(如此下图所示)

(一定要点开,Unity2019很大可能是没安装下拉菜单中的那两项的。

我个人猜测目的可能是为了那些早已下载了SDK的人不用重新下载一遍,对于早已下载了jdk的同理)这里,如果你已经有SDK了,就不必勾选这个对应的 Android SDK & NDK Tools。

(我为了试是什么原因导致报错所以勾选并下载了这个选项)

下面的那个 OpenJDK 是我们需要的,一定要选上…

unity ios打包sdk unity2019打包_unity ios打包sdk_02

接着,按下图进入preference面板,勾选图片中红色框,框出来的选项。

红色框里的东西, Unity 在安装的时候就按上了,所以直接勾选就行。

那个绿色框框内的选项也勾选上。
绿色框里的,在进行完上一张图片的步骤后,就安装在了 Unity 的默认路径下了。

那个紫色的框框,就是提示可以在那里查看 Unity 下载的 JDK 版本是多少而已

我试着不去勾选其中的任意一个选项,看看会怎么样。结果,就是接着报错,233333

unity ios打包sdk unity2019打包_System_03


接下来,如下图,

我们正常的进行打包步骤就行了,

注意点 com.公司名字.APP名字

注意点 自己所能打包的 API Level


等等

如果使用的是自己的之前下载的 SDK 就会弹出这个窗口,无视它,点击 Use Highest Installed 就行了。

unity ios打包sdk unity2019打包_解决方案_04

这就是我遇到的问题所使用的解决方案…

如果你的更奇葩…那祝你可以早点找到好的解决方法(捂脸)