tôi nhận được lỗi này khi tôi run-> ứng dụng cho một ứng dụng Android trong Android StudioAndroid Studio Nhiều dex gradle lỗi
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta;
...
Và đây là sản phẩm của -q gradlew: Ứng dụng: phụ thuộc
+--- project :shared
+--- com.google.api-client:google-api-client:1.19.0
| +--- com.google.oauth-client:google-oauth-client:1.19.0
| | +--- com.google.http-client:google-http-client:1.19.0
| | | +--- com.google.code.findbugs:jsr305:1.3.9
| | | \--- org.apache.httpcomponents:httpclient:4.0.1
| | | +--- org.apache.httpcomponents:httpcore:4.0.1
| | | +--- commons-logging:commons-logging:1.1.1
| | | \--- commons-codec:commons-codec:1.3
| | \--- com.google.code.findbugs:jsr305:1.3.9
| +--- com.google.http-client:google-http-client-jackson2:1.19.0
| | +--- com.google.http-client:google-http-client:1.19.0 (*)
| | \--- com.fasterxml.jackson.core:jackson-core:2.1.3
| \--- com.google.guava:guava-jdk5:13.0
+--- com.google.http-client:google-http-client-gson:1.19.0
| \--- com.google.code.gson:gson:2.1
+--- com.google.api-client:google-api-client-android:1.19.0
| +--- com.google.api-client:google-api-client:1.19.0 (*)
| \--- com.google.http-client:google-http-client-android:1.19.0
| \--- com.google.http-client:google-http-client:1.19.0 (*)
+--- com.google.http-client:google-http-client-android:1.19.0 (*)
+--- com.google.guava:guava:14.0.+ -> 14.0.1
+--- project :backend-appengine
| \--- com.google.api-client:google-api-client-android:1.19.0 (*)
+--- com.android.support:appcompat-v7:20.0.0
| \--- com.android.support:support-v4:20.0.0
| \--- com.android.support:support-annotations:20.0.0
+--- com.google.android.gms:play-services:5.0.89
\--- com.google.maps.android:android-maps-utils:0.3.+ -> 0.3.1
đây là khối phụ thuộc từ build.gradle
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':shared')
// Add the Google API client library.
compile(group: 'com.google.api-client', name: 'google-api-client', version: '1.19.0') {
// Exclude artifacts that the Android SDK/Runtime provides.
exclude(group: 'com.google.guava') //-- !!! this does not seem to work !!!
exclude(group: 'xpp3', module: 'xpp3')
exclude(group: 'org.apache.httpcomponents', module: 'httpclient')
exclude(group: 'junit', module: 'junit')
exclude(group: 'com.google.android', module: 'android')
exclude(group: 'com.google.http-client', module: 'google-http-client')
}
compile('com.google.http-client:google-http-client-gson:1.19.0') {
exclude module: 'httpclient'
exclude(group: 'com.google.http-client', module: 'google-http-client')
}
compile(group: 'com.google.api-client', name: 'google-api-client-android', version: '1.19.0') {
exclude(group: 'com.google.android.gms', module: 'play-services')
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
compile(group: 'com.google.http-client', name: 'google-http-client-android', version: '1.19.0') {
exclude(group: 'com.google.android', module: 'android')
}
// This is used by the Google HTTP client library.
compile(group: 'com.google.guava', name: 'guava', version: '14.0.+')
//-- endpoints
dependencies {
compile project(path: ':backend-appengine', configuration: 'android-endpoints')
}
compile 'com.android.support:appcompat-v7:20.0.0'
compile ('com.google.android.gms:play-services:5.0.89') {
exclude(group: 'com.android.support', module: 'support-v4')
}
compile ('com.google.maps.android:android-maps-utils:0.3.+') {
exclude(group: 'com.google.android.gms', module: 'play-services')
}
}
Cảm ơn kcoppock. Tôi nghĩ bạn phải đúng, nhưng dù tôi có cố gắng thế nào đi chăng nữa, tôi cũng không thể loại trừ mô-đun ổi từ bản dịch com.google.api-client. Tại sao thế giới trở nên như vậy? Tôi sử dụng: biên dịch (nhóm: 'com.google.api-client', tên: 'google-api-client', phiên bản: '1.19.0') { loại trừ (nhóm: 'com.google.guava') } và mọi loại trừ khả năng khác mà tôi có thể nghĩ nhưng không bao giờ bị loại trừ – aez
Tuy nhiên, kcoppock, tôi biết bạn là chính xác, bởi vì tôi đã nhận xét biên dịch ổi thứ hai (14.0) và tôi có thể xây dựng. Nhưng vẫn còn, tôi muốn có thể loại trừ các mô-đun ổi đầu tiên, nhưng lớp dường như không cho phép nó. Bất kỳ ý tưởng tại sao? – aez
Bạn có chắc chắn đã thay đổi mức độ phụ thuộc * chính xác * như được hiển thị ở trên không? Tôi chỉ thử bản thân mình, và không có dòng trừ của tôi, nó không thể lắp ráp giống như của bạn. Với dòng trừ, nó thành công. – kcoppock