首页 文章

重复的zip条目[okhttp-3.10.0.jar:okhttp3 / HttpUrl $ Builder $ ParseResult.class]

提问于
浏览
0

在这里,我正在转移第三方库排球以进行改造 . 实际上我曾在许多项目中使用过改造,但这是一些独特的问题和解决方案也没有从谷歌获得 .

这里app Build Gradle

apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
    applicationId "com.xyz"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 31
    versionName "7"
    vectorDrawables.useSupportLibrary = true
    multiDexEnabled="true"
}

buildTypes {
    debug {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dataBinding {
    enabled = true
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.googlecode.java-diff-utils:diffutils:1.2.1'
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.android.support:multidex:1.0.0'
}

这里项目 Build Gradle

buildscript {
  repositories {
    jcenter()
    google()


}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.1'

}
}

allprojects {
repositories {
    jcenter()
    maven { url 'https://maven.google.com/' }
    maven { url "https://jitpack.io" }
    google()
 }
}

这是一个改进的ApiClient代码:

public class ApiClient implements AppConstants{

public static final String BASE_URL = APP_URL1;
private static Retrofit retrofit = null;

public static Retrofit getClient() {
    OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
            .connectTimeout(1, TimeUnit.MINUTES)
            .readTimeout(1, TimeUnit.MINUTES)
            .writeTimeout(1, TimeUnit.MINUTES)
            .build();
    if (retrofit == null) {
        Gson gson = new GsonBuilder().serializeNulls().create();
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .client(okHttpClient)
                .build();
    }
    return retrofit;
}
}

这是一个错误:

引起:java.io.IOException:无法写入[E:\ A \ app \ build \ intermediates \ transforms \ proguard \ debug \ 0.jar](无法读取[C:\ Users \ Abhi.gradle \ caches \ modules-2 \ files-2.1 \ com.squareup.okhttp3 \ okhttp \ 3.10.0 \ 7ef0f1d95bf4c0b3ba30bbae25e0e562b05cf75e \ okhttp-3.10.0.jar(;;;;;; .class)](重复的zip条目[okhttp- 3.10.0.jar:okhttp3 / HttpUrl $ $生成ParseResult.class]))

2 回答

  • 1

    试试这个

    defaultConfig {
        multiDexEnabled true
    }
    
  • 0

    感谢别人的解决方案,但特别感谢@dpr这是一个关于我的问题的解决方案 . 我们可以看到所有的依赖关系

    Select View > Tool Windows > Gradle (或单击工具窗口栏中的Gradle) .

    展开 AppName > Tasks > android and double-click androidDependencies . Gradle执行任务后,应该打开“运行”窗口以显示

    我们可以获得所有依赖项:

    +--- android.arch.persistence.room:runtime:1.0.0@aar
    +--- com.squareup.retrofit2:retrofit:2.4.0@jar
    +--- com.android.support:transition:27.1.1@aar
    +--- com.android.support:support-fragment:27.1.1@aar
    +--- com.android.support:animated-vector-drawable:27.1.1@aar
    +--- com.android.support:support-core-ui:27.1.1@aar
    +--- com.android.support:support-media-compat:27.1.1@aar
    +--- com.android.support:support-core-utils:27.1.1@aar
    +--- com.android.support:support-vector-drawable:27.1.1@aar
    +--- com.android.support:support-compat:27.1.1@aar
    +--- android.arch.lifecycle:runtime:1.1.0@aar
    +--- android.arch.persistence.room:common:1.0.0@jar
    +--- android.arch.persistence:db-framework:1.0.0@aar
    +--- android.arch.persistence:db:1.0.0@aar
    +--- android.arch.lifecycle:livedata-core:1.1.0@aar
    +--- android.arch.core:runtime:1.1.0@aar
    +--- android.arch.core:common:1.1.0@jar
    +--- android.arch.lifecycle:common:1.1.0@jar
    +--- com.android.support:support-annotations:27.1.1@jar
    +--- com.android.support.constraint:constraint-layout-solver:1.0.2@jar
    +--- com.squareup.picasso:picasso:2.5.2@jar
    +--- com.squareup.okhttp3:okhttp:3.10.0@jar
    +--- android.arch.lifecycle:viewmodel:1.1.0@aar
    \--- com.squareup.okio:okio:1.14.0@jar
    

    除了gradle它将显示在重复的文件夹中,所以我们可以找到并删除,并可以解决这个问题 .

相关问题