2017-10-06 68 views
6

Tôi đang cố gắng xây dựng một ứng dụng Android với Jenkins và tôi có ít quyền kiểm soát đối với các máy phụ thuộc của Jenkins.Tải xuống Android SDK là một phần của Gradle Build

Để xây dựng ứng dụng Tôi cần Android SDK được cài đặt trên các nô lệ, nếu không tôi có được như mong đợi:. Không tìm thấy

"SDK vị trí Xác định vị trí với sdk.dir trong file local.properties hoặc với một biến môi trường ANDROID_HOME. "

Trường hợp này có thể được định cấu hình để tải xuống SDK như một phần của quá trình xây dựng và sử dụng nó như một phụ thuộc bình thường?

Điều này thậm chí có ý nghĩa không?

Cảm ơn sự giúp đỡ.

+0

Tham khảo: https://github.com/codepath/android_guides/wiki/Building-Gradle-Projects-with-Jenkins-CI#install-the-android-sdk –

+0

Kiểm tra liên kết được cung cấp mà nó vẫn trỏ tới bước để cài đặt Android SDK trên nô lệ Jenkins. Quan điểm của tôi, là tôi không thể dễ dàng làm điều đó. – FelipeFraga

Trả lời

2

Plugin Gradle Android hỗ trợ tải xuống tự động các phụ thuộc bị thiếu tại thời điểm xây dựng; lừa là thỏa thuận cấp phép được chấp nhận liên quan đến Android SDK phải được đi kèm với dự án được xây dựng. Về cơ bản bạn chỉ cần sao chép qua các thỏa thuận cấp phép được chấp nhận từ một nơi mà chúng đã được chấp nhận thông qua Android Studio (máy trạm của bạn), và đảm bảo rằng chúng được sao chép như trong Thư mục chính của Android SDK trên nô lệ Jenkins.

Các tệp có thể được tìm thấy trong thư mục license/ trong thư mục SDK Android, mặc dù tài liệu chính thức đề cập đến thư mục là licenses/.

+1

Tôi xin lỗi, nhưng tôi nghĩ bạn đã hiểu lầm tôi. Toàn bộ vấn đề là tôi không thể dễ dàng thay đổi Jenkins Slave, vì vậy không có nhà Android SDK nào trong đó. – FelipeFraga

+1

Tôi xin lỗi, tôi đã đọc sai câu hỏi Bạn sẽ có thể đặt Android SDK Home qua biến môi trường. Bạn có thể làm cho nó trong một thư mục con của thư mục build, thiết lập biến môi trường ANDROID_SDK_HOME để trỏ đến thư mục con đó và di chuyển thư mục giấy phép ở đó. – cstarner

1

Có thể thực hiện được. Kiểm tra this Plugin gradle mà tự động hóa SDK tải

Thêm plugin mức gốc của bạn gradle

classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+' 

Áp dụng các plugin trong build.gradle của bạn trước khi các plugin 'android' thường xuyên:

apply plugin: 'android-sdk-manager' 
apply plugin: 'com.android.application' 

Lưu ý: plugin này không còn được phát triển hoạt động nữa.

Các vấn đề liên quan