Unity 2020 无法将 Android APK 更新至 API 级别 29。

5

编辑:我的karma或者其他东西不够,不能评论,但是我通过下载最新版的apk并使用android apk应用程序解决了这个问题。这样我就可以将下载位置指定为unity apk路径。

=============================================================

当我尝试将我的游戏构建为安卓API目标级别29时,会出现以下错误:

“无法安装附加的SDK平台。请手动运行SDK管理器,确保您安装了最新的工具和所需的平台。有关详情,请参见控制台。”

这是我手动运行sdk管理器时的控制台输出:

"C:\Program Files\Unity\Hub\Editor\2020.1.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\sdkmanager.bat" "platforms;android-29"
Warning: File C:\Users\zande\.android\repositories.cfg could not be loaded.
License android-sdk-license:            ] 10% Computing updates... 
---------------------------------------
<entire android terms and conditions document is printed>
---------------------------------------
Accept? (y/N): y
Warning: Failed to read or create install properties file.
[===                                    ] 10% Installing Android SDK Platform 30

看起来我的当前安装版本是针对 API 级别 28 的,而 Google Play 不允许我发布此版本。我正在使用 Unity 2020.1f1,并且已经尝试了一切可能的方法。发生了什么事情?


抱歉,这是我在这里提出的第一个问题,但它被投票下降了。我做错了什么?这个问题完全阻碍了我游戏的所有进展 :( - Yoctometric
你需要手动运行Android SDK Manager并使用它安装所需的所有内容,然后返回Unity并尝试再次构建。 - hardartcore
我也遇到了同样的问题。你解决了吗? - Jerry Matheson
请问你是如何做到的?下载最新的apk是什么意思? - Squareoot
5个回答

2
这是一个已知问题:Unity官方论坛
然而,我没有按照他们的解决方案,而是手动从Android Studio SDK目录中复制了android 29 SDK到Unity SDK目录中:
1)确保你有安装android 29 SDK:
打开Android Studio。启动画面加载后,选择“Configure”按钮(右下角,旁边是齿轮图标),从下拉菜单中选择SDK Manager,在列表中确保已勾选Android 10(API 29),如果没有,则勾选并应用以下载SDK。
2)获取Android SDK目录的路径
从同一窗口中,注意标记为Android SDK Location的文本字段中的路径。
3)获取Unity的Android SDK目录路径
在Unity中,点击“Edit”=>“Preferences”=>“External Tools”。滚动并找到一个带有路径文本字段列表的Android标签。注意标记为“Android SDK Tools Installed with Unity (recommended)”的字段中的路径位置。
4)将Android Studio SDK复制到Unity中
在资源管理器中导航到两个路径。在每个路径中都会有一个名为“platforms”的文件夹。从Android SDK路径中进入此文件夹,并将android-29文件夹复制到Unity路径中的platforms文件夹中。

0
在Windows上,以管理员身份打开cmd命令行窗口并执行以下命令,将2019.2.21f1替换为您的Unity版本。
set "JAVA_HOME=C:\Program Files\Unity\Hub\Editor\2019.2.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK"
cd "C:\Program Files\Unity\Hub\Editor\2019.2.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin"
echo.> %USERPROFILE%\.android\repositories.cfg
sdkmanager.bat "platform-tools" "platforms;android-29"

在Mac OS上,打开终端窗口并执行以下命令,将2019.2.21f1替换为您的Unity版本。
export JAVA_HOME=/Applications/Unity/Hub/Editor/2019.2.21f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/OpenJDK/MacOS
cd /Applications/Unity/Hub/Editor/2019.2.21f1/PlaybackEngines/AndroidPlayer/SDK/tools/bin"
touch ~/.android/repositories.cfg
./sdkmanager "platform-tools" "platforms;android-29"

0

以提升的权限运行命令提示符,或创建一个批处理文件来调用第一个带参数的批处理文件,然后右键单击新的批处理文件并选择“以管理员身份运行”。真正的错误是无法创建安装属性文件,因为它没有写入访问权限。


0

我也遇到了这个问题,你可以先尝试以下命令:

sdkmanager "platform-tools"

然后再运行:

sdkmanager "platforms;android-29"

希望能对你有所帮助。


0

我也遇到了这个问题,我使用的是Unity版本2019.4.0f1。

以管理员身份运行Unity Hub。在设置中将目标API更新为29。然后像往常一样构建应用程序。Unity会要求您允许更新到API 29。只需接受即可完成。

这就是我的解决方法。


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