Python_96
Python_96

Reputation: 45

unknown error when i run my application

When i run my application in android studio the message error display me this error:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/glassfish/jersey/client/ClientProperties.class

I do not know how resolve this error.

I think this error depends on this code:

import com.github.irobson.jgenderize.model.NameGender;
import java.io.Serializable;
import java.util.List;
import java.util.Locale;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;

public class DefaultGenderize implements Genderize, Serializable {

    private final Client client = ClientBuilder.newClient();

    private static final String GENDERIZE_IO_API_URL = "https://api.genderize.io/";

    public NameGender getGender(String name, Locale locale) {
        WebTarget target = client.target(GENDERIZE_IO_API_UR`enter code here`L).queryParam("name", name);
        if (locale != null) {
            target = target.queryParam("country_id", locale.getCountry());
            target = target.queryParam("language_id", locale.getLanguage());
        }
        return target.request(MediaType.APPLICATION_JSON_TYPE).get(NameGender.class);
    }

    public List<NameGender> getGenders(String[] names, Locale locale) {
        GenericType<List<NameGender>> genericType = new GenericType<List<NameGender>>() {
        };

        WebTarget target = client.target(GENDERIZE_IO_API_URL);
        for (int i = 0; i < names.length; i++) {
            target = target.queryParam(String.format("name[%d]", i), names[i]);
        }
        if (locale != null) {
            target = target.queryParam("country_id", locale.getCountry());
            target = target.queryParam("language_id", locale.getLanguage());
        }
        return target.request(MediaType.APPLICATION_JSON_TYPE).get(genericType);
    }

    public NameGender getGender(String name) {
        return getGender(name, null);
    }

    public List<NameGender> getGenders(String... names) {
        return getGenders(names, null);
    }
}

or from some library.

Upvotes: 0

Views: 719

Answers (2)

IntelliJ Amiya
IntelliJ Amiya

Reputation: 75788

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/glassfish/jersey/client/ClientProperties.class

You have multiple appcompat-v7 ,That's why have problem .

Don't

compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:23.0.0'

Do

compile 'com.android.support:appcompat-v7:21.0.3'

Edit

 apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    //  compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    //   compile 'javax.websocket:javax.websocket-all:1.1'
    // compile files('libs/hk2-api-2.2.0-b21.jar')
    compile 'com.android.support:multidex:1.0.0'
    //  compile 'org.glassfish.jersey:project:2.22.1'
    // compile 'org.glassfish.jersey.core:jersey-client:2.0-m04'
    compile files('libs/jersey-client-2.19.jar')
}

Upvotes: 1

Chintan Rathod
Chintan Rathod

Reputation: 26034

I can see two "support v7" dependencies. Remove one of them.

compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:23.0.0'

Result

dependencies {
    testCompile 'junit:junit:4.12'
    compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:multidex:1.0.0'
    compile files('libs/jersey-client-2.19.jar')
}

Upvotes: 0

Related Questions