2013-06-02 43 views
11

Tôi có một dự án thư viện. Tôi muốn sử dụng hệ thống xây dựng mới của Android. Hiện tại tôi đang gặp phải một kịch bản khá khó chịu.Android Studio thiếu phụ thuộc bên ngoài

Tôi có các phụ thuộc được xác định trên gradle.build nhưng chúng không bao giờ xuất hiện trong Thư viện bên ngoài trong Android Studio. Do đó tất cả các tham chiếu đến các thư viện được đánh dấu là lỗi.

Khi tôi chạy gradle dependencies trên dòng lệnh, nó hiển thị cây phụ thuộc đầy đủ và biên dịch thành công. Vấn đề rõ ràng là với Android Studio.

Tôi đã cố gắng khởi động lại IDE/OS nhưng không có gì.

Đây là gradle.build tôi

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4.1' 
    } 
} 

apply plugin: 'android-library' 

apply plugin: 'idea' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'junit:junit:4.11' 
    compile 'org.robolectric:robolectric:2.1:jar-with-dependencies' 

    compile 'com.google.android:android:4.1.1.4' 
    compile 'com.google.android:support-v4:r7' 

    compile 'info.cukes:cucumber-java:1.1.3' 
    compile 'info.cukes:cucumber-junit:1.1.3' 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     versionCode 1 
     versionName "0.3-SNAPSHOT" 
     minSdkVersion 15 
     targetSdkVersion 17 
    } 
} 

CẬP NHẬT

Vấn đề này dường như được cố định trên phiên bản mới nhất Android Studio (0.2.5)

Trả lời

11

Thật không may, trong phiên bản hiện tại của Android Studio, IDE không được tích hợp hoàn toàn với hệ thống xây dựng (gradle). Bạn phải thêm thư viện một lần trong gradle.build để biên soạn và một lần qua GUI để hoàn thành mã.

Nhấp chuột phải vào dự án của bạn, chọn "Mở Cài đặt mô-đun". Xác nhận cảnh báo. Chọn "Thư viện", "+" và thêm thư viện bạn đang sử dụng. Bạn có thể tìm kiếm thư viện trên Maven trong hộp thoại xuất hiện. Bạn nên chọn thư mục libs cho bình. Cuối cùng, thêm thư viện vào mô-đun mã của bạn. Nếu ứng dụng của bạn là MyApp, bạn có thể có MyApp và MyAppProject. Bạn cần thêm nó vào MyApp. (Bạn cũng có thể trực tiếp thêm nó từ trang "Mô-đun".)

Để bổ sung gradle để thêm bình vào gói ứng dụng của bạn, hãy thực hiện các thay đổi sau đối với tệp lớp của bạn. Thay thế:

compile 'org.jsoup:jsoup:1.6.1' 

và tương tự với

compile files('libs/jsoup-1.6.1.jar') 

Bây giờ nó nên mọi công việc.

+0

Bạn trả lời nghe có vẻ đúng. Khi tôi có thời gian để kiểm tra nó, tôi sẽ chấp nhận nó. Btw, tôi đã mở một vấn đề trên bộ theo dõi AOSP. – Axxiss

+0

Bây giờ là ngày 1 tháng 8, điều này có đúng với Android Studio 0.2.2 không? –

+3

làm thế nào tôi có thể đặt thư viện trong Thư viện Ngoài trên build.gradle? – Akexorcist

13

Bạn có thể sử dụng dự án 'Tools-> Android-> Sync với tệp Gradle'. Nó sẽ giải quyết các phụ thuộc, tải xuống và thêm chúng vào các thư viện bên ngoài.

+3

Đây là câu trả lời đúng ngay bây giờ. –

0

Tôi đã nhận xét dòng sau từ build.gradle tệp và nó bắt đầu hoạt động.

//compile files('libs/android-support-v4.jar') 

enter image description here

Trước khô xây dựng hoạt động sẽ thành công nhưng khi tôi sẽ cố gắng để chạy trên thiết bị sẽ có lỗi

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; 
Các vấn đề liên quan