我正在尝试运行react-native run-android
并收到以下错误消息:
您尚未接受以下SDK组件的许可协议: [Android SDK Platform 23,Android SDK Build-Tools 26.0.2]。 在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少组件的安装。 另外,要了解如何将许可协议从一个工作站转移到另一个工作站,请转到http://d.android.com/r/studio-ui/export-licenses.html
我尝试转到提供的链接,该链接将我重定向到了一个较新的链接,该链接指示我转到工具> Android> SDK管理器。 在当前项目中,我没有发现我正在从事的工作: 您可以自己看到:
在哪里有一个框,用于勾选许可协议?我找不到一个。
我也尝试了以下方法:
我应该能够以这种方式接受许可:
cd ~/Library/Android/sdk/tools/bin
➜ bin ./sdkmanager --licenses
Warning: File /Users/danale/.android/repositories.cfg could not be loaded.
All SDK package licenses accepted.======] 100% Computing updates...
当我尝试运行react-native run-android
时,我再次遇到相同的错误。
所以我根据以下答案(Automatically accept all SDK licences)尝试了这种方式:
✗ yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Password:
Warning: File /var/root/.android/repositories.cfg could not be loaded.
All SDK package licenses accepted.======] 100% Computing updates...
跑了react-native run-android
,并继续遇到您在上面看到的相同错误。
我尝试遵循Sarats的回答: License for package Android SDK Platform 23 not accepted
只能遇到此错误:
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
"android" SDK commands can be translated to sdkmanager commands on a best-effort basis.
Continue? (This prompt can be suppressed with the --use-sdk-wrapper command-line argument
or by setting the USE_SDK_WRAPPER environment variable) [y/N]: /usr/local/share/android-sdk/tools/android: line 118: ${trysdkresponse,,}: bad substitution
Invalid or unsupported command "update sdk"
Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
请提供有关如何接受这些许可协议的最新信息。
答案 0 :(得分:0)
您可以从命令行接受许可协议。导航到sdkmanager。
~/Library/Android/sdk/tools/bin
比运行sdkmanager ./sdkmanager --licenses
并接受您所需的许可证。您可以阅读有关sdkmanager here