Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. duplicate entry: com/loopj/android/http/AsyncHttpClient$1.class

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. duplicate entry: com/loopj/android/http/AsyncHttpClient$1.class

我收到重复输入错误,但我不知道为什么。这是我的 build.grade 文件。

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.1"

defaultConfig {
    applicationId "com.apppartner.androidprogrammertest"
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.2'
compile 'com.loopj.android:android-async-http:1.4.9'
}

我相信我一切都准备就绪。我该怎么办?

如果项目编译正确,请尝试删除 loopj 库,然后您需要检查是否有另一个库或 jar 包含与 loopj 类 相同的

您可以从 com/loopj/http 文件夹中删除 AsyncHttpClient.java,然后重建项目。我确定其他重复的 java 文件会出现新的错误...您只需将它们一一删除,直到您可以成功构建 apk。

这个解决方案对我有用。

1.- 删除依赖编译'com.loopj.android:android-async-http:1.4.9'.

如果你使用一些来自httpclient的类,检查你的导入类,你会看到导入对应于包cz.msebera.android,然后你可以替换依赖项android cz.msebera.android

的异步 http
compile group: 'cz.msebera.android', name: 'httpclient', version: '4.4.1.2'

希望对您有所帮助。