报错: Failed to install the following Android SDK packages as some licences have not been accepted.

报错: Failed to install the following Android SDK packages as some licences have not been accepted.导入已有的工程,在build时出现了FailedtoinstallthefollowingAndroidSDKpackagesassomelicenceshavenotbeenaccepted.从此开启有点漫长的脱坑之路。出现这个为在解决后发现主要是两个问题:一个是sdkmanager没有更新;另一个原因是项目配置…

大家好,又见面了,我是你们的朋友全栈君。

导入已有的工程,在 build 时出现了 Failed to install the following Android SDK packages as some licences have not been accepted. 从此开启有点漫长的脱坑之路。

出现这个为在解决后发现主要是两个问题:

        一个是 sdkmanager 没有更新;

        另一个原因是项目配置的 build-tools  platforms platform-tools 和本地下载的版本存在不一致的情况。

Failed to install the following Android SDK packages as some licences have not been accepted.
   platforms;android-28 Android SDK Platform 28
   build-tools;27.0.3 Android SDK Build-Tools 27.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html

上面报错的同事 java 编译器还提示:

        Warning: License for package Android SDK Build-Tools 27.0.3 not accepted.
        Warning: License for package Android SDK Platform 28 not accepted.

解决:

1、先 cd 到 安装sdk 的 tools/bin 目录下:如 cd /home/xxxxx/xxx/00_soft/sdk/android-sdk-linux/tools/bin

      在没有更新 sdkmanager 之前,该文件夹下只有一个 sdkmanager 可执行文件

2、执行命令  ./sdkmanager –update (执行过程有点慢,不知道是不是网速问题)

       执行结束后 bin 文件夹下的内容如下:

drwxr-xr-x 2 a5673 a5673 4096 7月  16 10:49 .
drwxr-xr-x 6 a5673 a5673 4096 7月  16 10:49 ..
-rwxr-xr-x 1 a5673 a5673 6742 7月  16 10:49 apkanalyzer
-rwxr-xr-x 1 a5673 a5673 5253 7月  16 10:49 archquery
-rwxr-xr-x 1 a5673 a5673 6040 7月  16 10:49 avdmanager
-rwxr-xr-x 1 a5673 a5673 5250 7月  16 10:49 jobb
-rwxr-xr-x 1 a5673 a5673 6834 7月  16 10:49 lint
-rwxr-xr-x 1 a5673 a5673 3323 7月  16 10:49 monkeyrunner
-rwxr-xr-x 1 a5673 a5673 5613 7月  16 10:49 screenshot2
-rwxr-xr-x 1 a5673 a5673 6047 7月  16 10:49 sdkmanager
-rwxr-xr-x 1 a5673 a5673 3076 7月  16 10:49 uiautomatorviewer

3、再次执行命令 : ./sdkmanager –licenses 更新 license 文件,执行过程需要多次确认

:~/xxx/00_soft/sdk/android-sdk-linux/tools/bin$ ./sdkmanager --licenses
4 of 5 SDK package licenses not accepted. 100% Computing updates...             
Review licenses that have not been accepted (y/N)? y

4、这时可以尝试是否能够正常构建项目,有可能遇到下面提示的问题(或是其中的一个提示)

        Warning: License for package Android SDK Build-Tools 27.0.3 not accepted.
        Warning: License for package Android SDK Platform 28 not accepted.

      应该是本地下载的版本和配置的没有对应上,只需要通过 sdkmanager 下载项目配置的版本即可。

      例如(具体请了解 sdkmanager 命令的使用):

// 同时安装多个包
sdkmanager "platform-tools" "build-tools;28.0.3" "platforms;android-28"

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160600.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月16日 下午11:36
下一篇 2022年7月16日 下午11:36


相关推荐

  • 即梦ai怎样导入外部素材 即梦ai文件上传格式要求

    即梦ai怎样导入外部素材 即梦ai文件上传格式要求

    2026年3月12日
    2
  • C++this指针

    C++this指针1)以下说法不正确的是:(括号内为个人理解) A.this指针就是指向成员函数所作用的对象的指针 B.每个对象的空间中都存放着一个this指针 C.类的非静态成员函数,真实的参数比所写的参数多1(多一个this指针) D.静态成员函数中不能使用this指针(因为static函数不属于某个对象) this指针是类的一个自动生成…

    2022年5月17日
    59
  • Java中Boolean是什么?

    Java中Boolean是什么?Java中的boolean其实就是c中的bool型(逻辑型)数据类型。在java中,boolean值只能是true和false,而不能用0和1代替,并且一定要小写。要注意到的是,数值的0、-0、特殊值的null、NaN、undefined以及空字符(””)都会被解释为false,其他值则会被解释为true。…

    2022年7月7日
    23
  • fiddler手机抓包 443「建议收藏」

    fiddler手机抓包 443「建议收藏」安装证书常规设置之后仍然抓不到包:https://blog.csdn.net/lx_zsdong/article/details/82257698

    2022年6月17日
    45
  • 什么是施密特触发器?

    什么是施密特触发器?背景我在一个光路接收模块中包含一个施密特触发器 很多时候并不知道施密特触发器的作用 因此 此处首先给出电路图的基本的结构 随后 进行分析施密特触发器的基本的作用是什么 电路结构图施密特触发器 SN74LVCG17 什么是施密特触发器施密特触发器有两个稳定状态 但与一般触发器不同的是 施密特触发器采用电位触发方式 其状态由输入信号电位维持 对于负向递减和正向递增两种不同变化方向的输入信号 施密特触发器有不同的阈值电压 我向用我自己的理解的方式说明下 施密特就是为了防止在某一个临界电平的情况出现各

    2026年3月19日
    1
  • C# 多线程详细讲解「建议收藏」

    C# 多线程详细讲解「建议收藏」C#多线程一、基本概念1、进程首先打开任务管理器,查看当前运行的进程:从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运

    2025年8月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号