Reputation: 45
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
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
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