我已经尝试清理我的项目,清理gradle文件,重建我的项目,但是当我尝试运行我的应用程序时,我收到此错误:
TransformException:java.util.zip.ZipException:重复条目: UTIL / GenericData $ EntrySet.class
我该如何解决?
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.example.name.app"
multiDexEnabled true
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.android.support:design:23.4.0'
compile 'junit:junit:4.12'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.google.code.gson:gson:1.7.2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'com.android.support:multidex:1.0.0'}
android {useLibrary 'org.apache.http.legacy'}
答案 0 :(得分:0)
tl; dr 您的错误意味着您的依赖项中存在重叠。
你可以削减其中大部分。
apply plugin: 'com.android.application'
android {
// ... this can stay the same
}
ext {
supportLibraryVersion = "23.4.0"
googlePlayServicesVersion = "10.2.0"
retrofitVersion = "2.2.0"
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "com.android.support:design:$supportLibraryVersion"
testCompile 'junit:junit:4.12'
// compile "com.google.android.gms:play-services-<SERVICE HERE>:$googlePlayServicesVersion"
compile "com.squareup.retrofit2:retrofit:$retrofitVersion"
compile "com.squareup.retrofit:converter-gson:$retrofitVersion"
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.android.support:multidex:1.0.1'
}
<强>解释强>
我怀疑你需要这些。您还复制了JUnit,它不需要在测试环境之外编译
compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'junit:junit:4.12' useLibrary 'org.apache.http.legacy'
你已经有了Retrofit来处理HTTP请求(顺便说一句,它已经过了测试版,所以用Gson更新它)。
compile 'com.squareup.retrofit2:retrofit:2.2.0'
compile 'com.google.code.gson:gson:2.8.0'
它包含OkHttp,因此您也删除了它。
然后,您不太可能在单个应用中使用每个Google服务。
compile 'com.google.android.gms:play-services:10.0.1'
选择您实际使用的
Google Play Services | Selectively choose your dependencies
例如,想要地图,然后使用compile '... services-maps:<VERSION NUMBER>'
你也可以删除这个,因为design
已经包含了......
compile 'com.android.support:appcompat-v7:23.4.0'