Jar Mismatch Đã tìm thấy 2 phiên bản android-support-v4.jar trong danh sách phụ thuộc


130

Tôi đang cố gắng tạo 2 phiên bản của một ứng dụng Android (miễn phí / trả phí). Tôi có một Thư viện Android chứa các tệp chung cho cả hai. Tôi đã tạo một dự án Android mới và đang cố gắng sử dụng Thư viện nhưng gặp lỗi dưới đây:

Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

Bất kỳ ý tưởng về cách giải quyết này? Tôi đã chơi với con đường xây dựng để không thành công.


Tôi đã tìm thấy một giải pháp rất đơn giản , hoạt động trong những tình huống như vậy, hãy xem câu trả lời của tôi dưới đây
gprathour

Câu trả lời:


177

Bất kỳ ý tưởng về cách giải quyết này?

Xóa một cái.

Tôi đã chơi với con đường xây dựng để không thành công.

Bước # 1: Hoàn tác tất cả điều đó. Nếu bạn đang gặp rắc rối với đường dẫn xây dựng, trên R16 hoặc phiên bản cao hơn của plugin ADT cho Eclipse, bạn đã làm sai.

Bước # 2: Chọn một trong hai phiên bản của JAR hoặc chọn một trong hai phiên bản "bổ sung" trong cài đặt SDK của bạn.

Bước # 3: Đặt JAR đúng vào App Library.

Bước # 4: Xóa cái từ App Free, vì nó sẽ lấy JAR đó từ đó App Library.

Thay vào đó, bạn được hoan nghênh có cùng tệp JAR thực tế ở cả hai điểm ( App FreeApp Library), mặc dù điều đó chỉ chiếm thêm dung lượng mà không có lý do.


1
@Necronet: Có tất cả sử dụng cùng một JAR. Ví dụ, sao chép dự án mới nhất vào mỗi dự án đó.
CommonsWare

@CommonsWare: làm thế nào để biết cái nào mới nhất?
Mehul Joisar

2
@MehulJoisar: Điều đó tùy thuộc vào các tác giả của JAR. Trong trường hợp android-support-v4.jar, cái mới nhất là cái trong bản cài đặt SDK của bạn.
CommonsWare

5
@MehulJoisar: Tôi không thể trả lời điều đó. Tôi thường lấy bản mới nhất android-support-v4.jartừ SDK và sao chép nó vào tất cả các dự án thư viện (cộng với xóa cái đó khỏi SDK).
CommonsWare

1
Tôi vừa gặp vấn đề này, nhưng dường như nó hoàn toàn không có màu xanh, như một số vấn đề khác về Eclipse / Android khác. Câu trả lời này khắc phục hiệu quả nhưng dường như không phải là nguyên nhân.
Joe Lapp

24
  1. Xóa android-support-v4.jar khỏi Ứng dụng miễn phí
  2. Thêm cùng một tệp từ Thư viện ứng dụng vào Ứng dụng miễn phí

@Lee Chun Hoe bạn có thể cho tôi biết làm thế nào để đi đến con đường này trong MAC OS. Tôi muốn xóa android-support-v4.jar.
Rakesh

@Rakesh Trong Eclipse Gói Explorer, mở rộng dự án của bạn, trong thư mục libs, xóa tệp android-support-v4.jar đó.
Lee Chun Hoe

12

Các giải pháp trên chủ yếu giải quyết vấn đề. sau khi sử dụng các giải pháp và vấn đề vẫn tồn tại Sau đó

GO vào thư mục dự án -> libs-> và xóa "android-support-v4.jar"

Hy vọng nó sẽ giải quyết vấn đề của bạn vì nó giải quyết vấn đề của tôi.


11

Có một số tình huống trong đó bạn có nhiều dự án thư viện có đường dẫn android-support-v4.jartrong libsvà xây dựng và dự án của bạn có sự phụ thuộc vào cả hai dự án. Nói ví dụ trong trường hợp của tôi, tôi có các dự án thư viện sau trong không gian làm việc của mình,

  • libfacebook
  • libsherlockactionbar

Cả hai dự án này đều độc lập và tôi project.propertiestrông giống như sau,

# Project target.
target=android-17
android.library.reference.1=../libfacebook
android.library.reference.2=../libsherlockactionbar

Khi tôi xây dựng dự án của mình, tôi gặp một vấn đề không khớp với các tham chiếu trùng lặp với hai bản sao của cùng một tệp. Những gì tôi đã làm để giải quyết vấn đề này là một chút mánh khóe. Tôi đã tạo một dự án thư viện mới có tên libcommonslà cha mẹ cho tất cả các dự án thư viện khác trong không gian làm việc của tôi, bao gồm libfacebooklibsherlockactionbar. Sau đó, tôi loại bỏ các thư viện hỗ trợ từ tất cả các dự án khác và chỉ giữ lại một bản sao bên trong libcommonscủa libs thư mục. Sau đó, tôi đã thêm libcommonsnhư một tài liệu tham khảo cho tất cả các dự án thư viện khác của tôi . Sau khi làm sạch không gian làm việc của tôi, mọi thứ hoạt động như một nét duyên dáng.


8

Đây là một sửa chữa thanh lịch hơn so với xóa và thêm các tập tin!

Bạn chỉ cần:

  1. Nhấp chuột phải vào dự án Ứng dụng miễn phí
  2. Chuyển đến "Công cụ Android"> "Thêm thư viện hỗ trợ"
  3. Phê duyệt các quyền và để nó cập nhật thư viện
  4. Lặp lại quy trình này cho Thư viện ứng dụng dự án

Thư viện hỗ trợ Android sau đó sẽ được đồng bộ hóa (:


Cảm ơn bạn - điều này đã giải quyết vấn đề của tôi. Tôi đã phải thêm BaseGameUtils và gặp lỗi này :)
neowhoru 17/03/2015

@neowhoru, không vấn đề gì! Rất vui được chia sẻ! ~
cokeby190 17/03/2015

1
rất vui vì nó đã giúp @MuhammedRefaat! (:
cokeby190

7

GIẢI PHÁP RẤT ĐƠN GIẢN

Một giải pháp rất đơn giản đã làm việc cho trường hợp của tôi, chỉ cần sao chép cùng một tệp jar (android-support-v4.jar) cho tất cả các dự án.Sẽ không còn xung đột nữa.

1 Sao chép tệp jar android-support-v4.jar từ thư mục libs của bất kỳ một dự án nào.

2 Xóa tệp jar android-support-v4.jar khỏi thư mục libs của dự án thứ hai đã tồn tại.

3 Dán tệp jar vừa được sao chép của dự án đầu tiên vào thư mục libs của dự án thứ hai.

Vấn đề không khớp jar sẽ được giải quyết ngay bây giờ.


5

Chỉ cần sao chép thư viện từ một trong các dự án sang một dự án khác. Có lẽ dấu thời gian cần phải giống nhau trên cả hai.


4

Nghị quyết:

  1. Nhấp chuột phải vào dự án 'miễn phí'> Công cụ Android> Thêm thư viện hỗ trợ.
  2. Làm điều tương tự trên dự án 'trả tiền'.
  3. Làm sạch tất cả các dự án

2

Kiểm tra xem có dự án không liên quan nào mở cho bạn không, vì đó là trường hợp của tôi, có vẻ như một trong các tệp JAR có liên quan đến một dự án khác, mà tôi đã không làm việc với nó, vì vậy tôi đã đóng dự án đó, đã làm sạch xây dựng dự án tôi đang làm và không gặp vấn đề gì nữa! Hy vọng điều này sẽ giúp được ai đó!


1

Sử dụng cùng một lọ trong khi thêm các lọ bên ngoài trong cả thư viện và dự án


1

tốt .. nó hoạt động với tôi:

Đi đến

Thư mục dự án> libs

sau đó, xóa "android-support-v4.jar"

Sau đó

dự án> Sạch sẽ

Nó sẽ làm việc!


1

Tôi mới gặp vấn đề này, nhưng thay vì xóa android-support-v4.jar xung đột , tôi chỉ đổi tên nó thành android-support-v4_PROJECT.jar , loại bỏ xung đột.

Nếu bạn đang tự hỏi làm thế nào để đổi tên một tệp trong Eclipse, bạn chỉ cần làm nổi bật tệp đó và nhấn F2.


0

Bạn chỉ cần có chính xác tổng kiểm tra android-support-v4.jar trên mỗi dự án của bạn. Đối với điều này, bạn có thể sao chép / qua một trong số chúng trong tất cả các dự án / thư viện xung đột của bạn.

Không có gì khác để làm, dọn dẹp và tận hưởng :)


0

Có thể bạn mở 2 dự án cùng một lúc (cả hai đều sử dụng android-support-v4.jar). I close 1 project and every thing ok

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.