Desde o gradle android plugins 2.2-alpha4 :
A Gradle tentará fazer o download dos pacotes SDK ausentes dos quais um projeto depende
O que é incrivelmente legal e era conhecido por ser um projeto da JakeWharton .
Mas, para baixar a biblioteca do SDK, você precisa: aceitar os contratos de licença ou a gradle informa:
Você não aceitou os contratos de licença dos seguintes componentes do SDK: [Ferramentas de criação do SDK do Android 24, Plataforma do SDK do Android 24]. Antes de criar seu projeto, você precisa aceitar os contratos de licença e concluir a instalação dos componentes ausentes usando o Android Studio SDK Manager. Como alternativa, para aprender a transferir os contratos de licença de uma estação de trabalho para outra, acesse http://d.android.com/r/studio-ui/export-licenses.html
E isso é um problema, porque eu adoraria instalar todas as dependências sdk enquanto fazia um gradle build
.
Estou procurando uma solução para aceitar automaticamente todas as licenças. Talvez um script gradle? Você tem alguma ideia ?
Obrigado!
[EDITAR]
Uma solução foi executar:
android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository
E instale-o manualmente, mas é o novo objetivo do gradle fazer isso.
[EDIT 2]
Uma solução melhor é usar o sdkmananger:
yes | sdkmanager --licenses
~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository
porque a android
ferramenta foi localizada para a minha casa
$ANDROID_SDK_PATH
para o caminho raiz real onde você instalou o SDK (ou seja: /opt/android-sdk
), ou apenas colocar o caminho diretamente (ou seja: yes | sdkmanager --licenses --sdk_root=/opt/android-sdk
)
echo y |
na frente desse comando para aceitar automaticamente a licença. Útil quando rodando em uma caixa CI sem cabeça :)