從Android Gradle plugin 2.2.0開始,gradle會(huì)自動(dòng)加載需要的SDK, build-tools,但是因?yàn)闆]有接受權(quán)限更新,導(dǎo)致加載依賴終止,提示
Failed to notify project evaluation listener. > You have not accepted
the license agreements of the following SDK components: [Android
SDK Build-Tools 25.0.3]. Before building your project, you need to
accept the license agreements and complete the installation of the
missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from
one workstation to another, go to [http://d.android.com/r/studio
ui/export-licenses.html](http://d.android.com/r/studio-ui/export
licenses.html) > Must apply 'com.android.application' first!
創(chuàng)建license
在終端中執(zhí)行以下三條命令,記得是在android sdk 的目錄下面
mkdir -p "$ANDROID_SDK/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK/licenses/android-sdk-preview-license"
license存放在$ANDROID_HOME/licenses下
最終會(huì)生成以下目錄
使用Jenkins的配置安卓的自動(dòng)打包時(shí)也會(huì)有這個(gè)問(wèn)題,因?yàn)锳ndroid SDK需要更新,而沒有權(quán)限,所以會(huì)報(bào)這個(gè)錯(cuò),加入這個(gè)后。Jenkins就有了自動(dòng)更新的權(quán)限,然后就會(huì)自動(dòng)下載需要更新的安裝包。
執(zhí)行
mkdir -p "$ANDROID_SDK/licenses"
可能報(bào)沒有權(quán)限Permission denied,加上sudo,然后輸入密碼就行了
sudo mkdir -p "$ANDROID_SDK/licenses"
接著執(zhí)行
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK/licenses/android-sdk-preview-license"
這時(shí)候一樣會(huì)報(bào)沒有權(quán)限Permission denied,對(duì)剛創(chuàng)建的licenses文件夾root一下
chmod -R 777 + licenses的path
這樣就可以了。如果實(shí)在搞不定的話分享我的給你吧[鏈接: https://pan.baidu.com/s/1hsOkPb2 密碼: s9a2]
下載然后放在Android SDK的目錄下就好了。
最后stackoverflow上面的解決方案
https://stackoverflow.com/questions/38096225/automatically-accept-all-sdk-licences