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
Bạn cần loại bỏ thư viện vg 1.2.2 của dao găm và để dao găm v. 2.0. Sau này thường sẽ trở lại tương thích. Xem tài liệu gradle về cách loại trừ phụ thuộc cụ thể. https://docs.gradle.org/current/userguide/dependency_management.html
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
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
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? –
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
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
- 1. Sử dụng hai phiên bản của cùng một thư viện
- 2. Liên kết với nhiều phiên bản của thư viện
- 3. Sử dụng các phiên bản khác nhau của thư viện python trong cùng một quá trình
- 4. phiên bản của thư viện chuẩn C++
- 5. Maven - Nhiều phiên bản của cùng một sự phụ thuộc
- 6. Nhiều phiên bản của JQuery trên cùng một trang
- 7. Có thể nhiều phiên bản của cùng một (Boost) DLL cùng tồn tại trong cùng một quá trình không?
- 8. Chạy nhiều phiên bản OpenCV trên cùng một máy tính
- 9. Phiên bản có thể in của thư viện chuẩn Haskell
- 10. XMPP nhiều phiên của cùng một vấn đề người dùng
- 11. sai MySQL thư viện client phiên bản
- 12. Nhiều phiên bản Firefox trên cùng PC
- 13. Nhiều phiên bản PHP trên cùng một hộp
- 14. Triển khai nhiều phiên bản của ứng dụng Rails - cùng một mã, nhiều
- 15. Nhiều phiên bản Python chính thức trên cùng một máy?
- 16. Có thể nhận CMake để xây dựng cả phiên bản tĩnh và chia sẻ của cùng một thư viện không?
- 17. Có cách nào để có hai phiên bản của cùng một thư viện Perl song song không?
- 18. Triển khai hiệu quả nhiều phiên bản của cùng một WAR (các ngữ cảnh khác nhau, cùng một vùng chứa)
- 19. Nhiều phiên bản của một lớp sẽ bị ghi đè cùng một lúc? (Python)
- 20. Java: Tải động nhiều phiên bản cùng loại
- 21. Nhiều phiên bản Delphi sử dụng Jenkins: đường dẫn thư viện
- 22. Tải nhiều bản sao của một thư viện được chia sẻ
- 23. Đảm bảo cùng một phiên bản của gói nuget
- 24. Bắt phiên bản cuối cùng của một thư mục bị xóa trong subversion
- 25. Tôi nên cấu trúc nhiều phiên bản của cùng một lớp con Ember.Application trên cùng một trang?
- 26. Có phiên bản nhiều ký tự strchr() trong thư viện C chuẩn không?
- 27. Nhiều thư viện CMakeLists.txt
- 28. Đảo ngược URL không gian tên trong Django: nhiều phiên bản của cùng một ứng dụng
- 29. Làm cách nào để chạy nhiều phiên bản của PHPUnit trên cùng một máy?
- 30. Nhiều phiên bản của cùng một ứng dụng gốc trong Angular 2
dagger 2.0 và 1.2.2 là lưu ý tương thích – Fishman