Unity构建异常:可能SDK是只读的。

5

在构建我的2D移动游戏时(它只是一个没有任何东西的平面),我遇到了一个错误,其中包含5个异常,所有异常都以可能SDK是只读的结尾。

这些是完整的异常:

Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
8个回答

2

请尝试阅读论坛中的对话。

在这里

我认为他们遇到了与你类似的问题。也许他们提到的一些解决方案适用于你。但是,你是否尝试创建和构建新的 Unity 项目或构建之前的项目?如果它显示只读,则可能是权限问题。请尝试以管理员权限打开 Unity。

如果那样行不通,请尝试使用 Unity Hub 和 Android(Unity + Android)重新安装 Unity。我曾通过这种方式解决过类似的问题。

希望我的回答有所帮助。祝你好运。


1
当我尝试针对不同于Unity预装的API级别时,遇到了相同的错误。我从其他SDK位置复制了一些Android平台文件,但是在尝试构建时,出现了只读错误。因此,我删除了这些复制的文件,并在“首选项”->“外部工具”下取消选中“使用Unity安装的Android SDK工具”选项。

enter image description here

对于我来说,它自动选择了我之前试图复制的另一个Android SDK位置。因此,在那之后我的构建成功了,但你可能需要选择“浏览”以找到正确的SDK位置路径。

1

我尝试了几个选项,但都没有起作用。选择了“开发构建”后没有错误!


0
重新导入所有/重新打开Unity对我来说解决了问题。在资源中右键单击>重新导入所有将清除缓存,这个问题可能会消失。

0
我在使用Unity编辑器版本2021.3.9f1以及其他2021年的Unity版本构建APK时遇到了类似的问题。然而,在经过一些故障排除后,我找到了一个解决方法,可能对其他遇到同样问题的人有所帮助。
解决方法如下:
1. Unity版本:我在Unity LTS版本2021.3.9f1和其他2021年版本中遇到了这个问题。 2. 成功构建:在切换到Unity LTS版本2022.3.9f1后,构建过程顺利进行,没有任何问题。
希望这些信息对其他遇到同样问题的人有所帮助。如果您需要进一步的详细信息,请告诉我。

0
第一次尝试构建Android包时,我遇到了相同的错误。
错误信息“可能SDK是只读的”是正确的 - “C:\Program Files”下的所有内容都被标记为只读。我还注意到,有关的文件package.xml并不存在。问题是Unity试图创建这些文件,但失败了。
我以管理员身份运行了Unity编辑器(忽略了严厉的警告“Unity正在以不支持的管理员身份运行”) - 确保你没有运行Hub,然后在文件资源管理器中找到Unity.exe并以管理员身份运行它。我构建了项目,package.xml文件被成功创建!你只需要这样做一次;现在文件已经存在,你就不需要再以管理员身份运行Unity了。
希望这对你有帮助!

0
对我来说,当我修复了由重复库类引起的另一个错误时,这个问题就解决了。我进入Assets/Plugins/Android,点击罪魁祸首(在我的情况下是“com.unity3d.ads.unity-ads-4.5.0”插件),然后取消选择该插件的Android平台。 之后,我就能够构建了。

Screenshot


0
除了这个错误,我还遇到了一个与我的 APK 签名相关的错误。虽然我试图生成调试版本,但它应该已经选择了默认密钥。
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:packageDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\rohit\.android\debug.keystore": Invalid keystore format

但是,当我创建了一个新的签名密钥后,尝试生成发布版本时,即使这个错误也被自动修复了。

希望这可以帮助那些同时面对这两个错误的人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接