首页 文章

您尚未接受以下SDK组件的许可协议[重复]

提问于
浏览
231

这个问题在这里已有答案:

我下载了最新的Android SDK工具版本24.4.1 . 我使用命令行来安装SDK . 我被问到时输了 y

你接受许可'android-sdk-license-c81a61d9'[y / n]:y安装成功后 .

但是当使用Gradle 3.1构建时,会显示以下内容

您尚未接受以下SDK组件的许可协议:[Android SDK Platform 23,Android SDK Build-Tools 23.0.1] . 在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少的组件的安装 . 或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请访问http://d.android.com/r/studio-ui/export-licenses.html

我检查了 ~/.android/opt/android-sdk ,其中放置了Android工具 . 两者都不包含名为 licenses 的文件夹 .

15 回答

  • -1

    从命令行接受许可协议的方式已更改 . 您可以使用位于以下位置的SDK管理器: $ANDROID_HOME/tools/bin

    例如:

    ~/Library/Android/sdk/tools/bin
    

    运行sdkmanager如下:

    ./sdkmanager --licenses
    

    并接受您尚未接受的许可(但需要) .

    有关详细信息,请参阅Android Studio documentation,尽管当前文档缺少 --licenses 选项的任何说明 .

    警告

    您的计算机上可能有两个Android SDK . 一定要检查 ~/Library/Android/sdk/usr/local/share/android-sdk !如果不确定,请从您的机器完全uninstall安卓工作室,并从一个干净的石板开始 .

  • 1

    您可以通过以下两种方式安装和接受SDK和工具的许可:

    1.通过命令行打开Android SDK Manager GUI

    使用以下命令通过命令行打开Android SDK管理器:

    # Android SDK Tools 25.2.3 and lower - Open the Android SDK GUI via the command line
    cd ~/Library/Android/sdk/tools && ./android
    
    # 'Android SDK Tools' 25.2.3 and higher - `sdkmanager` is located in android_sdk/tools/bin/.
    cd ~/Library/Android/sdk/tools/bin && ./sdkmanager
    

    View more details on the new sdkmanager .

    选择并安装所需的工具 . (您的位置可能不同)

    2.通过命令行安装并接受android许可证:

    通过命令行更新软件包,您将看到您需要接受的条款和条件 .

    - 安装或更新到最新版本

    这将在您运行时安装最新的 platform-tools .

    # Android SDK Tools 25.2.3 and lower. Install the latest `platform-tools` for android-25
    android update sdk --no-ui --all --filter platform-tools,android-25,extra-android-m2repository
    
    # Android SDK Tools 25.2.3 and higher
    sdkmanager --update
    

    - 安装特定版本(25.0.1,24.0.1,23.0.1)

    您还可以安装特定版本,如下所示:

    # Build Tools 23.0.1, 24.0.1, 25.0.1
    android update sdk --no-ui --all --filter build-tools-25.0.1,android-25,extra-android-m2repository
    android update sdk --no-ui --all --filter build-tools-24.0.1,android-24,extra-android-m2repository
    android update sdk --no-ui --all --filter build-tools-23.0.1,android-23,extra-android-m2repository
    # Alter the versions as required                      ↑               ↑
    
    # -u --no-ui  : Updates from command-line (does not display the GUI)
    # -a --all    : Includes all packages (such as obsolete and non-dependent ones.)
    # -t --filter : A filter that limits the update to the specified types of
    #               packages in the form of a comma-separated list of
    #               [platform, system-image, tool, platform-tool, doc, sample,
    #               source]. This also accepts the identifiers returned by
    #               'list sdk --extended'.
    
    # List version and description of other available SDKs and tools
    android list sdk --extended
    sdkmanager --list
    
  • 5

    转到你的 $ANDROID_HOME/tools/bin 然后开火

    ./sdkmanager --licenses
    

    接受那里列出的所有许可 .

    在此之后,只需转到sdk中的licenses文件夹并检查它是否包含以下五个文件:

    android-sdk-license, android-googletv-license, android-sdk-preview-license, google-gdk-license, mips-android-sysimage-license
    

    重新进行重试并重新构建,仍然jenkins提供“许可证不被接受”然后你必须完全允许你的'sdk'目录及其所有的父目录 . 这是命令:

    sudo chmod -R 777 /opt/
    

    如果你在/ opt /目录中有sdk .

  • 81

    For Windows users w/o using Andoid Studio:

    • 转到 sdkmanager.bat 文件的位置 . 默认情况下,它位于 %LOCALAPPDATA% 文件夹内的 Android\sdk\tools\bin 处 .

    • 在 Headers 栏中键入cmd,打开终端窗口

    • 类型

    sdkmanager.bat --licenses
    
    • 使用'y'接受所有许可
  • 20

    Update for macOS Sierra 10.12.6 - Android Studio for Mac 2.3.3

    通常在以下位置找到sdkmanager文件:

    /Users/YOUR_MAC_USER/Library/Android/sdk/tools/bin
    
    ./sdkmanager --licenses
    

    警告:无法加载 File /Users/mtro.josevaler**strong text**io/.android/repositories.cfg . 不接受6个SDK包许可证中的6个 . 查看尚未接受的许可证(是/否)? Y

    要验证问题,只需重复执行许可证问题所涉及的操作 .

  • 5

    我通过打开Android SDK Manager并为其抱怨的版本安装SDK构建工具解决了这个问题(API 24) .

    我之前也使用命令行进行了更新,我怀疑Android SDK Manager有更完整的方法来解决依赖关系,包括许可证 .

  • 11

    当我运行cordova build android时,我遇到了这个错误

    我通过触发./sdkmanager --licenses并接受所有许可证来解决了这个问题 .

    • 你在路径下的android sdk文件夹下有一个sdkmanager.bat:android / sdk / tools / bin

    • 触发在android / sdk / tools / bin中打开命令提示符

    • 类型./sdkmanager - 许可并输入

    • 按y查看所有许可证,然后按y接受所有许可证

  • 6

    我通过使用命令解决了该问题:

    转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \ tools \ bin \(如果该文件夹不可用,请首先下载android SDK,或者您可以从android studio安装过程安装它 . )Shift左键单击并按W,然后按Enter键打开文件夹路径上的CMD键入cmd:sdkmanager --licenses按Enter键后,需要按y键接受所有许可证

    检查许可证

    转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \检查名为licenses的文件夹

    android-googletv-license
    android-sdk-license
    android-sdk-preview-license
    google-gdk-license
    intel-android-extra-license
    mips-android-sysimage-license
    

    使用命令在CORDOVA上测试:

    cordova构建android

    使用Android SDK的文档:https://developer.android.com/studio/command-line/sdkmanager.html

  • 429

    如果您想使用IDE接受许可证,我还发现打开Android Studio并创建一个很容易触发许可协议的新基础项目 . 创建项目后,我提出了以下许可对话框,我需要同意:

    enter image description here

    我完整记录了以下帖子中的信息:Accepting the Android SDK License via Android Studio

  • 24

    我有一个类似的问题,但./sdkmanager - 许可证没有用 . 我按照这个帖子和"obladors"评论给了我解决方案:https://github.com/oblador/react-native-vector-icons/issues/527

    什么最终解决了我的问题是:运行 ./sdkmanager "build-tools;23.0.1"

    随您的版本更改23.0.1

  • 9

    也许我迟到了,但这有助于我接受OSX的SDK许可,

    如果安装了android SDK工具,请运行以下命令

    ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
    

    y 接受所有许可

    瞧!您已经接受了SDK许可证并且很好用 .

  • 12

    您可以通过启动Android Studio接受许可协议,然后转到:

    帮助>检查更新...

    当您安装更新时,它会要求您接受许可协议 . 接受许可协议并安装更新,您就完成了所有设置 .

  • 122

    在linux中

    1. Open a terminal
     2. Write: "cd $ANDROID_HOME/tools/bin (this path can be /home/your-user/Android/Sdk/tools/bin)"
     3. Write: "./sdkmanager --licenses"
     4. To accept All licenses listed, write: "y"
     5. Ready!
    

    如果您正在使用Ionic Framework构建应用程序,请再次编写命令来构建它 .

  • 12

    如果你有一个React Native应用程序的问题,除了上面提到的步骤,请确保你的应用程序的android目录(AppName / android)中有local.properties文件指向你的'sdk'目录:

    sdk.dir=/PATH_TO_SDK/
    
  • 14

    我通过以下步骤解决了这个问题:

    • 用命令"tools/android update sdk --no-ui"更新android sdk

    • 到jenkins机器上的android sdk文件夹,创建"licenses"文件夹

    • 创建了名为"android-sdk-license"的文件,并从开发机器粘贴许可证

相关问题