因为某些原因,我在ionic+cordova项目用DOS命令移除了android平台再重新添加平台,之后编译的时候出了这么个问题,以下是输出列表中的内容:

A problem occurred configuring project ':CordovaLib'.
1>  > You have not accepted the license agreements of the following SDK
components:
1>    [Android SDK Platform 26.0.2]  [Android SDK Build-Tools 26.0.2].

 

因为我这个项目本来是基于23.0.2的,估计是重新添加平台时候出的错,如果你和我是同样的原因导致的这个错误,那么你可以直接进行以下操作:

在DOS命令行重新执行移除android平台的命令cordova platform remove
android,在重新添加android平台的时候在添加语句后面直接加上@x.x.x,例如:cordova platform add [email protected]

tip:如果你不知道这里的x.x.x应该写什么,你可以直接去看sdk manager里面你的platform(例如23.0.2)对应的是哪个

那么,如果你不是由于上面的原因导致的此问题,你可以进行下面的操作:

第一种方法:直接通过sdk manager下载对应版本的platform以及build-tools,这是最有效、直接的办法

第二种方法:此种方法针对仅有[Android SDK Platform xx.x.x(版本号)],没有[Android SDK Build-Tools
xx.x.x(版本号)提示的;或者是可以通过此方法解决[Android SDK Platform
xx.x.x(版本号)],然后只需要下载对应版本号的build-tools就可以了,无需再下载platform。

用DOS命令行进入到你的sdk目录下
mkdir "%ANDROID_HOME%\licenses" echo |set
/p="8933bad161af4178b1185d1a37fbf41ea5269c55" >
"%ANDROID_HOME%\licenses\android-sdk-license"
然后直接复制粘贴上面的代码到命令行并执行,执行完后会创建一个包含licenses文件的名为%ANDROID_HOME%的文件夹

不用去管他,如果你有上面两个问题,执行完此步之后,你会发现输出列表里只有 [Android SDK Build-Tools
26.0.2]这个问题了,此步可以绕过下载platform,但是对于build-tools,我还没有找到绕过下载的解决办法,欢迎各位交流评论分享!