在这里,我正在将第三方库凌空转换为翻新。实际上,我已经在许多项目中使用了翻新,但这是一些独特的问题和解决方案,它们也无法从Google获得。
这里的应用程序构建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'
}
这是Project 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 $ Builder $ ParseResult.class]))
最佳答案
感谢其他人的解决方案,但特别感谢@dpr
这是关于我的问题的解决方案。我们可以看到所有依赖项
选择“视图”>“工具窗口”>“ Gradle”(或在工具窗口栏中单击“ Gradle”)。
展开AppName>任务> android,然后双击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之外,它还会在重复的文件夹中显示您,因此我们可以查找和删除并解决此问题。