2014-04-03 27 views
14

tôi nhận được lỗi này khi cố gắng xây dựng dự án của tôi trong Android Studio (Tôi đang cố gắng để di chuyển từ Eclipse):
Output:
Android Studio Gradle Lỗi: Nhiều file dex xác định

UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) 

sau khi googling và kiểm tra stackoverflow nguyên nhân có khả năng nhất là tham chiếu thư viện trùng lặp.
Tôi có một số thư viện trong dự án của mình như Facebook SDK, SlidingMenu, v.v. yêu cầu android-support-v4.jar, vì vậy tôi đã sao chép vào thư mục/libs của dự án chính của tôi và sau đó xóa nó khỏi tất cả các dự án khác thư mục libs. Sau đó, tôi đã đi tới "Cài đặt mô-đun mở" và thêm hỗ trợ-v4 làm phụ thuộc thư viện cho các thư viện cần nó (ví dụ: Facebook SDK).
Sau đó, dự án sạch -> chạy nhưng tôi vẫn nhận này nhiều dex file lỗi

chạy gradle -q dependencies show:

+--- project :facebook-android-sdk-3.5.1:facebook 
| \--- com.android.support:support-v4:+ -> 19.1.0 
+--- project :SlidingMenu:library 
| \--- com.android.support:support-v4:+ -> 19.1.0 

Được chứ? Nếu tôi xóa phụ thuộc thư viện này trong Cài đặt Mô-đun thì tôi sẽ gặp nhiều lỗi hơn trong khi cố gắng biên dịch dự án của tôi

Trả lời

50

Trong tệp build.gradle của bạn, hãy thử thêm khối sau vào khối android của bạn.

dexOptions { 
    preDexLibraries = false 
} 
+3

I love you guy! – IlyaEremin

+2

CÓ! Tôi lãng phí quá khứ 3 giờ cố gắng tìm ra điều này; đây là câu trả lời hiệu quả. –

+0

Đang trực tiếp nhập một dự án từ nhật thực (ADT) vào studio trong eclipse làm việc tốt trong khi nhập dự án đó với các dự án hỗ trợ libreary vào studio nhận được lỗi nhiều tập tin dex tìm thấy, vui lòng trợ giúp và cung cấp giải pháp – Harsha

1

Câu trả lời đúng là:

dexOptions { 
    preDexLibraries = false 
} 
+1

Tôi xin lỗi, tôi không chú ý đến các quy tắc của trang web này – jiong103

2

Chỉ cần một xây dựng sạch làm việc cho tôi, Chỉ cần làm điều này trong Android Studio:

Got to Build > Clean Project

See image for reference

0
dexOptions { 
    preDexLibraries = false 
} 

Got to Build > Clean Project 

Got to Build > Rebuild Project 
Các vấn đề liên quan