【问题标题】:Ionic build error : You have not accepted the license agreements of the following SDK components: [Android SDK Platform 24]Ionic 构建错误:您尚未接受以下 SDK 组件的许可协议:[Android SDK Platform 24]
【发布时间】:2017-03-16 11:56:07
【问题描述】:

我正在尝试运行命令 ionic build android --release 来构建 apk,但我收到此错误

总时间:1.767 秒错误:cmd:命令失败,退出代码为 1 错误输出:FAILURE: Build failed with an exception。

  • 出了什么问题:配置根项目“android”时出现问题。

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

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。拿起_JAVA_OPTIONS:-Xmx512M

【问题讨论】:

标签: android cordova ionic-framework sdk


【解决方案1】:

安装许可证:

mkdir "%ANDROID_HOME%\licenses"

回声 |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"

【讨论】:

  • 我没有 %ANDROID_HOME% 环境变量。尝试使用 %ADT_HOME% 代替,没有运气。我是win7的。有什么想法吗?
  • @mpsyp ANDROID_HOME 是您的 android SDK 位置。如果windows环境变量中没有,创建一个并指向包含android sdk包的文件夹。
  • 如何在 Windows 7 上做到这一点?
  • 这是一个很好的答案。另外请确保您的 android-sdk 文件夹具有 READ/WRITE 权限。
  • 在 Linux 上为我工作。如果您不想只使用命令行,请在 Android/sdk/ 中创建一个名为 licenses 的文件夹,创建文件 android-sdk-license,复制 8933bad161af4178b1185d1a37fbf41ea5269c55。谢谢皮特!
【解决方案2】:

在命令提示符中,转到 ANDROID_HOME\tools\bin

然后运行命令,sdkmanager --licenses

在出现提示时接受您想要的许可证。

【讨论】:

    【解决方案3】:

    安装 Platform 24 (Android 7) 解决了这个问题

    【讨论】:

    • 适用于 Cordova CLI 6.4.0 / Windows 8.1 :) 谢谢!
    • 用 SDK 管理器安装了 24 个,没有运气。我以前从来没有遇到过这个问题,只是在卸载并重新安装 Ionic+Cordova 等之后才开始。之前的构建工作正常。为什么现在出现了?
    • @mpsyp 在 Peter Wang 的解决方案之后,当我再次开始构建时,我看到 android 25 已安装并且构建成功。所以也许安装 android 25 可以解决这个问题。
    • 这并不总是有效。 Peter Wang 的解决方案在许可证仍然有效的情况下绕过了出错的可能性。
    【解决方案4】:

    我通过安装没有 Android SDK 管理器的 Android SDK Platform 24 解决了这个问题。

    android update sdk --no-ui --filter build-tools-24.0.2,android-24,extra-android-m2repository
    

    *Cordova CLI 6.4.0 / Windows 10

    【讨论】:

    • 这对我有用!尝试了上述两种解决方案均未成功。
    【解决方案5】:
    1. 转到C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin
    2. 运行命令./sdkmanager.bat --licenses
    3. 接受许可

    为我工作

    【讨论】:

    • 在第 1 步中,您忘记了用户名和本地之间的“AppData”(因此路径是 C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin),在第 2 步中,我必须执行的命令是 ./sdkmanager.bat --licenses。这样,我就可以毫无问题地为 android 构建。谢谢你的帮助。如果您接受我发送的编辑,我认为这应该是公认的答案。它准确地关注问题所在并解决它。
    【解决方案6】:

    这在 ubuntu 下对我有用:

    mkdir "$ANDROID_SDK/licenses" || true
    echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"
    echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK/licenses/android-sdk-preview-license"
    

    来源:Dori's answer to automatically-accept-all-sdk-licences

    【讨论】:

      【解决方案7】:

      设置 ANDROID_HOME 环境变量后,以上 peter wang 的回答对我有用。 在我的情况下,ANDROID_HOMEC:\Users\YourUserName\AppData\Local\Android\android-sdk

      之后,下面的命令导致构建成功。

      mkdir "%ANDROID_HOME%\licenses"
      echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
      

      【讨论】:

      • 在我的情况下,添加 ANDROID_HOME 环境变量就足够了,因为许可证已经存在。
      【解决方案8】:

      我的软件:

      Ubuntu 16.04.2 LTS
      Gradle 3.5
      java version "1.8.0_131"
      $ANDROID_HOME = ~/AndroidSDK
      

      工作解决方案:

      yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.2
      

      当然,您应该使用您的构建工具版本。

      来源:

      Automatically accept all SDK licences

      【讨论】:

        【解决方案9】:

        每当您的 Android Studio 软件包过时时,您都会遇到类似的问题,因为构建将在最新的稳定版本中进行。要修复,请执行以下操作:

        Android Studio > 首选项 > 外观和行为 > 系统设置 > Android SDK 勾选最新的 Android 版本(或您需要的版本),点击应用。 此时,Android 会要求您同意其许可证,并且将安装更新的版本。

        现在您可以构建/运行 Ionic / Cordova / PhoneGap。

        【讨论】:

          【解决方案10】:

          如果您遇到来自较新版本的 Android SDK 的问题,请在 config.xml 中更改您的目标版本。

          接下来,打开 Android Studio>Configure>SDK Manager

          检查你需要的版本 24 使用 7.0 并检查它。然后安装它并尝试重新构建。

          【讨论】:

            【解决方案11】:

            我遇到了同样的问题,我使用@peters.Wang 回答生成许可证并将许可证文件夹放在 sdk 文件夹中。

            感谢@peters.Wang

            【讨论】:

            • 只需将图像添加到他的答案中,因为这不是单独的解决方案
            【解决方案12】:

            安装 sdk 25 并接受来自 android studio 的许可。这解决了我的问题。

            【讨论】:

              【解决方案13】:

              我已经解决了这个问题。

              mkdir "%ANDROID_HOME%\licenses"
              
              echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
              

              【讨论】:

                【解决方案14】:

                您必须在

                之后遵循帮助文本

                您尚未接受以下 SDK 组件的许可协议: 在这种情况下,您必须安装 [Android SDK Platform 24]。事实上,括号 [] 中的帮助文本会带您走上正确的道路。

                【讨论】:

                  【解决方案15】:

                  我通过检查文件 android-sdk-licenses 解决了这个问题 在我的路径 G:\Android\sdk\licenses 的已安装 ANdroid 路径中 此目录中存在相同的文件 C:\Users\Ashutosh\AppData\Local\Android\Sdk\licenses 如果多个许可证复制所有许可证:)

                  【讨论】:

                    【解决方案16】:

                    我有同样的情况,以上所有建议都不起作用,因为我的安装和组件文件夹名称不同或文件位于不同的位置。

                    我在 C 中安装了旧版 Android Studio,在 E 中安装了新版。我已经卸载了旧版本,但 Android Studio 没有清除所有文件并重置我的 Env。多变的。所以我只是做了以下

                    1) 搜索到这个文件:android-sdk-license

                    2) 查看上述文件是否在被其他文件夹(如附加组件、构建工具、模拟器等)包围的许可证文件夹中。

                    3) 然后确保 ANDROID_HOME 指向这个许可证的父文件夹。

                    【讨论】:

                      【解决方案17】:

                      请访问https://discuss.circleci.com/t/licences-for-android-build-tools-not-accepted/17285/18

                      依赖:

                      覆盖:

                      echo y | android update sdk --no-ui --all --filter build-tools-26.0.2,android-26
                      

                      代替我原来的:

                      依赖:

                      覆盖:

                      echo y | android update sdk --no-ui --all --filter build-tools-26.0.2
                      

                      【讨论】:

                        【解决方案18】:

                        安装最新的 Android Studio 并接受许可协议。

                        https://developer.android.com/studio/index.html

                        【讨论】:

                          猜你喜欢
                          • 2018-01-03
                          • 1970-01-01
                          • 2018-04-30
                          • 1970-01-01
                          • 2017-02-07
                          • 1970-01-01
                          • 1970-01-01
                          • 2017-03-15
                          • 1970-01-01
                          相关资源
                          最近更新 更多