问题描述
我想编译并运行几个月前的 React Native 应用程序。它之前只需一个命令行脚本调用就可以完美运行。
目前卡在这里:
A problem occurred configuring project ':react-native-reanimated'.
> Failed to install the following Android SDK packages as some licenses have not been accepted.
patcher;v4 SDK Patch Applier v4
emulator Android Emulator
tools Android SDK Tools
platforms;android-28 Android SDK Platform 28
build-tools;29.0.2 Android SDK Build-Tools 29.0.2
To build this project,accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
我环顾四周,发现我必须使用 sdkmanager
接受它。
我尝试使用 `SDK 管理器接受许可证,但它给了我“Xmlscheme 错误”。
我环顾四周,发现这是由于我的 JDK 太新(版本 15)造成的。所以我把它降级到 JDK 8。
All SDK package licenses accepted.======] 100% Computing updates...
现在我再次尝试运行构建脚本,但之前的许可接受错误仍然存在。
有些回答说可能是因为我没有权限更改它,建议使用SDK文件夹上的chmod 0777更改它。我已经这样做了。重新运行接受许可证。重新运行构建脚本。还是一样。
我该如何解决这个问题? SDK 管理器甚至不显示任何不被接受的许可证。已全部接受。
更新:我运行 ./sdkmanager --licenses --verbose
,看起来每次它尝试接受许可证并报告已接受,但如果我再次运行,它会接受相同的许可证。就像...接受结果没有保存。
更新:从这个 comment 开始,我尝试了 sdkmanager --licenses --sdk_root=~/Library/Android/sdk
,看起来它正在接受许可(询问是否要接受许可)。但是在接受许可后,仍然导致与上述相同的问题。
解决方法
如果您现在还没有解决这个问题,以下是解决方案:
- 转到 Android Studio 中的设置
- 转到 Android SDK
- 选择 SDK 工具选项卡
- 标记并安装以下软件包:“Android SDK 命令行工具”、“Google Play 许可库”和可选(因为我不确定是否有必要)“Google Play 服务”