java - APK META-INF 中复制的重复文件

标签 java android gradle

嗨,我是 Android 开发的新手,我正在尝试构建我的 apk,但我遇到了这个错误。我更新了我的 gradle,我得到了副本。我该如何解决这个错误?

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okhttp/okhttp/pom.properties
    File1: C:\Users\Toshiba\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp\okhttp\2.0.0\4c8d1536dba3812cc1592090dc20c47a4ed3c35e\okhttp-2.0.0.jar
    File2: C:\Users\Toshiba\.gradle\caches\modules-2\files-2.1\com.crashlytics.android\crashlytics\1.1.13\e821eafa1bf489a26bdb71f95078c26785b37a1\crashlytics-1.1.13.jar 

这是我的 build.gradle,这是错误吗?

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.mymonas.ngobrol"
        minSdkVersion 14
        targetSdkVersion 20
        versionCode 1
        versionName "0.9.0.68"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {

    mavenCentral()
    maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'], exclude: 'android-support-v4.jar')
    compile project('libs:floatlabel')
    compile 'com.android.support:support-v4:21.0.0'
    compile 'com.android.support:support-v13:21.0.0'
    compile 'com.squareup.retrofit:retrofit:1.7.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.1'
    compile 'com.google.android.gms:play-services:6.1.11'
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.makeramen:roundedimageview:1.3.0'
    compile 'com.andreabaccega:android-form-edittext:1.1.0@aar'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

最佳答案

今天,我在使用 React Native 应用程序时遇到了相同或至少非常相似的问题。不过问题只出在我的 Mac 上。我们能想到的唯一合理的解释是我更新了一堆 Android Studio 工具,然后 gradle 无法使用我们的依赖项正确构建。无论如何,在从 okhttp 中排除了 pom.propertiespom.xml 之后,我一直收到同样的错误,但事实证明我只需要排除更多文件。这是我在 build.gradle 中的完整 packagingOptions:

packagingOptions {
  exclude 'META-INF/maven/com.squareup.okhttp3/okhttp/pom.properties'
  exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
  exclude 'META-INF/maven/com.squareup.okhttp3/okhttp/pom.xml'
  exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
}

关于java - APK META-INF 中复制的重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36707591/

相关文章:

java - 使用JSP注释时编译错误?

java - 注册项目时出错 [1.12.2] Minecraft Forge

java - 启动 Intent 以启动选项卡主机的特定选项卡

android - 我在适配器中使用上下文时出错,我想在适配器中使用 startActivityForResult(...),我该怎么办?

android - Paging库在向上滑动刷新后只调用LoadInitial,不调用LoadAfter

java - 如何使用 GCP Cloud Build + Java 17 + Gradle 7.6

java - Minio Gradle 依赖 android javax.annotation.CheckReturnValue

java - catch语句后返回到之前的位置

java - 如何修改基于 Gradle 构建的 Jersey 项目的依赖关系?

java - Log4j2 无 GC 异步记录器 : passing mutable objects