React Native:当前如何在Android上接受所有许可协议

时间:2019-05-14 17:45:29

标签: android reactjs react-native

我正在尝试运行react-native run-android并收到以下错误消息:

  • 出了什么问题: 配置项目':RNSwipeView'时发生问题。
      

    您尚未接受以下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管理器。 在当前项目中,我没有发现我正在从事的工作: 您可以自己看到:

enter image description here

因此,我决定打开一个全新的项目,并找到了 SDK管理器enter image description here

在哪里有一个框,用于勾选许可协议?我找不到一个。

我也尝试了以下方法:

我应该能够以这种方式接受许可:

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

请提供有关如何接受这些许可协议的最新信息。

1 个答案:

答案 0 :(得分:0)

您可以从命令行接受许可协议。导航到sdkmanager。 ~/Library/Android/sdk/tools/bin比运行sdkmanager ./sdkmanager --licenses并接受您所需的许可证。您可以阅读有关sdkmanager here

的更多信息。