2015-09-04 25 views
5

Tôi có dự án A, được sử dụng để có mô-đun A1, sử dụng dao găm phiên bản 1.2.2. Bây giờ tôi muốn thêm vào dự án A, mô-đun A2, có sự phụ thuộc vào dao găm v. 2.0. Nhưng tôi không thể vì hai thư viện này bị xung đột. Tôi có thể tiếp cận bằng cách nào đó nhiều phiên bản của thư viện trong các mô-đun Android khác nhau không?Nhiều phiên bản của cùng một thư viện

Trả lời

1

Tại sao bạn có thể giữ cả hai? Tôi không nghĩ rằng nếu nó có thể, bạn nên đi cho một thư viện duy nhất. Và ở đây bạn nên sử dụng cái mới nhất, như tôi nghĩ nếu cái mới nhất được thêm vào cái cũ không quan trọng. Kiểm tra những liên kết này nếu họ giúp bạn với dao găm ...

Dagger dependencies when overriding graph with mock module causes NoClassDefFoundError

How to use dagger in a android library project

Dagger dependencies when overriding graph with mock module causes NoClassDefFoundError

+0

Vì tôi có dự án làm việc sử dụng 1.2.2. Tôi chỉ muốn viết thư viện mới, độc lập, mà dự án này sẽ sử dụng. Tôi có thể cấu hình thư viện độc lập này không xung đột với dự án hiện tại của tôi không? – Fishman

+0

không chắc chắn về điều đó, khi bạn sử dụng cả hai người trong số họ không cung cấp cho lỗi trong khi xây dựng hoặc trong khi chạy các ứng dụng? –

+0

Trong khi xây dựng. Tôi không muốn sử dụng 1.2.2 trong mô-đun A2. Tôi muốn mô-đun A1 sử dụng 1.2.2, mô-đun A2 để sử dụng 2.0. – Fishman

2

Bạn không thể có cả hai.

Bạn cần phải loại trừ các thư viện mâu thuẫn từ phụ thuộc:

configurations { 
    all*.exclude group: 'com.google.android', module: 'support-v4' 
} 

dependencies { 
    compile 'com.android.support:support-v4:13.0.0' 
} 

Từ: https://github.com/stephanenicolas/robospice/issues/161

HOẶC

dependencies { 
    compile("org.gradle.test.excludes:api:1.0") { 
     exclude module: 'shared' 
    } 
} 

Từ: https://docs.gradle.org/current/userguide/dependency_management.html # 52.4.7

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