Kể từ khi bổ sung các plugin Android 2.2-alpha4 :
Gradle sẽ cố tải xuống các gói SDK bị thiếu mà một dự án phụ thuộc vào
Điều này thật tuyệt vời và được biết đến là một dự án JakeWharton .
Nhưng, để tải xuống thư viện SDK, bạn cần phải: chấp nhận các thỏa thuận cấp phép hoặc lớp cho bạn biết:
Bạn chưa chấp nhận thỏa thuận cấp phép của các thành phần SDK sau: [Công cụ xây dựng SDK Android 24, Nền tảng SDK Android 24]. Trước khi xây dựng dự án của bạn, bạn cần chấp nhận các thỏa thuận cấp phép và hoàn tất cài đặt các thành phần còn thiếu bằng Trình quản lý SDK Android Studio. Ngoài ra, để tìm hiểu cách chuyển các thỏa thuận cấp phép từ máy trạm này sang máy trạm khác, hãy truy cập http://d.android.com/r/studio-ui/export-licenses.html
Và đây là một vấn đề vì tôi rất thích cài đặt tất cả các phụ thuộc sdk trong khi thực hiện a gradle build
.
Tôi đang tìm kiếm một giải pháp để tự động chấp nhận tất cả các giấy phép. Có lẽ một kịch bản lớp? Bạn có bất cứ ý tưởng ?
Cảm ơn!
[BIÊN TẬP]
Một giải pháp là thực thi:
android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository
Và cài đặt thủ công, nhưng đó là mục đích tính năng mới của lớp để thực hiện.
[CHỈNH 2]
Một giải pháp tốt hơn là sử dụng sdkmananger:
yes | sdkmanager --licenses
~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository
vì android
công cụ được bản địa hóa tại nhà của tôi
$ANDROID_SDK_PATH
đường dẫn gốc thực tế nơi bạn đã cài đặt SDK (tức là /opt/android-sdk
:) hoặc chỉ cần đặt đường dẫn trực tiếp (ví dụ yes | sdkmanager --licenses --sdk_root=/opt/android-sdk
:)
echo y |
lệnh trước lệnh đó để tự động chấp nhận giấy phép. Hữu ích khi chạy trên hộp CI không đầu :)