GVKun编程网logo

java – 转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom / squareup / okhttp / Address;

8

本篇文章给大家谈谈java–转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom/squareup/okhttp/Address;,同时本文还将给你拓展AndroidGradleDe

本篇文章给大家谈谈java – 转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom / squareup / okhttp / Address;,同时本文还将给你拓展Android Gradle DexException:多个dex文件定义Lorg / hamcrest / Description、android – ‘转换为Dalvik格式失败,错误1’和’java.lang.IllegalArgumentException:已添加:’、android – 无法导入com.squareup.okhttp.OkHttpClient;、android – 无法执行dex:多个dex文件再次定义Lcom / ….等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java – 转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom / squareup / okhttp / Address;

java – 转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom / squareup / okhttp / Address;

我已经在StackOverflow上看到过这个问题约100次,但这不是一个解决所有问题的答案.这是我的构建路径:

但是我仍然得到:

[2014-05-03 11:44:33 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/squareup/okhttp/Address;
[2014-05-03 11:44:33 - Untappd] Conversion to Dalvik format Failed: Unable to execute dex: Multiple dex files define Lcom/squareup/okhttp/Address;

解决这个问题的最佳和最简单的方法是什么?当我尝试通过删除旧项目并添加新项目来手动将新版本的Aviary SDK添加到我的项目时,我得到了它.我试过清洁和重建,但它不起作用.

解决方法:

我发现了问题,感谢Joe Bowser(https://twitter.com/infil00p/status/462639837149798400)的回复.这里的问题是Aviary和Phonegap都使用Lcom / squareup / okhttp框架,所以我不得不从Cordovalib目录中删除okhttp框架,然后重新运行该项目.

Android Gradle DexException:多个dex文件定义Lorg / hamcrest / Description

Android Gradle DexException:多个dex文件定义Lorg / hamcrest / Description

com.android.dex.DexException:多个dex文件定义Lorg / hamcrest / Description

尝试通过Android Studio或我的应用程序上的Gradle命令行进行调试构建/测试时发生.

发布版本(没有测试)工作正常,但只要包含测试(hamcrest是测试库),构建就会因上述错误而失败.

我已经检查了我的模块依赖项,并且没有重复的要求,gradle -q依赖项证实了这一点.

项目settings.gradle

include ':[library module]'
include ':[main module]'

项目build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
        classpath 'org.robolectric.gradle:gradle-android-test-plugin:0.9.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

[library module] build.gradle

apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsversion "19.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }

    packagingOptions {
        exclude 'meta-inf/LICENSE.txt'
        exclude 'meta-inf/NOTICE.txt'
    }
}

dependencies {
    compile 'com.google.zxing:core:3.0.+'
    compile 'com.bugsnag:bugsnag-android:2.1.1+'
}

[主模块] build.gradle

apply plugin: 'android'

android {
    signingConfigs {
    release {
        [...]
    }
}

    sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            res.srcDirs = ['src/main/res']
        }
        androidTest {
            setRoot('src/test')
        }
        instrumentTest {
        }
    }

    compileSdkVersion 19
    buildToolsversion '19.0.0'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        testPackageName "[main.packageName].tests"
    }

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

    packagingOptions {
        exclude 'meta-inf/LICENSE.txt'
        exclude 'meta-inf/NOTICE.txt'
    }
}

apply plugin: 'android-test'



androidTest {
    // configure the set of classes for JUnit tests
    include '**/*Test.class'

    // configure max heap size of the test JVM
    maxHeapSize = "2048m"
}

repositories {
    maven { url 'https://repo.commonsware.com.s3.amazonaws.com' }
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}

dependencies {
    androidTestCompile 'junit:junit:4.10'
    androidTestCompile 'org.robolectric:robolectric:2.3-SNAPSHOT'
    androidTestCompile 'com.squareup:fest-android:1.0.+'
    compile project(':[library module]')
    compile 'com.github.gabrielemariotti.changeloglib:library:1.4.+'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:appcompat-v7:+'
    compile ('de.keyboardsurfer.android.widget:crouton:1.8.+') {
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile files('libs/CWAC-LoaderEx.jar')
    compile 'com.squareup.okhttp:okhttp:1.5.+'
    compile 'com.octo.android.robospice:robospice:1.4.11'
    compile 'com.octo.android.robospice:robospice-cache:1.4.11'
    compile 'com.octo.android.robospice:robospice-retrofit:1.4.11'
    compile 'com.commonsware.cwac:security:0.1.+'
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
}

解决方法:

Robolectric 2.3依赖于JUnit 4.8.1(版本显式).您正在导入JUnit 4.10(版本显式). Hamcrest可能只是dex窒息的许多重复项中的第一个 – 尝试将JUnit需求版本更改为4.8(或者从Robolectric依赖项中排除JUnit).

android – ‘转换为Dalvik格式失败,错误1’和’java.lang.IllegalArgumentException:已添加:’

android – ‘转换为Dalvik格式失败,错误1’和’java.lang.IllegalArgumentException:已添加:’

自从我安装了新的SDK以来,我遇到了这个问题.当我尝试将同一个类链接到构建两次时,我已经读到过这种情况.

但这是一个特殊的事情:

>我有一个Android库项目,在构建路径上包含一个类文件夹.
>我将这个库项目包含在我的一个常规Android项目中.
>我必须在这个常规项目中包含类文件夹以使其构建.

发生错误时.
但是,当我执行以下任一操作时:

>从库项目中删除类文件夹:库项目不会构建,因此常规项目也不会.
>从常规项目中删除类文件夹:库项目构建,但常规项目不会,因为它错过了类文件(?!).

我似乎陷入了一些无法解决的范式.
也许有建立规则来规避这个?

任何帮助将不胜感激!

解决方法:

显然,Android库项目的链接方式已发生变化.

之前,库的源文件夹将链接到构建路径.
使用新的解决方案,库显然是建立在自己的“bin”文件夹中的jar文件中.

然后使用库将其作为外部jar链接到项目的构建路径.

要使冲突消失,请做两件事:

>删除Project properties-> Java Build Path-> Source中的源文件夹链接
>清理项目.也许手动清除项目的“bin”文件夹.

现在它应该再次运作!

android – 无法导入com.squareup.okhttp.OkHttpClient;

android – 无法导入com.squareup.okhttp.OkHttpClient;

我正在研究 android studio并从网上获取一些数据.我尝试使用OkHttpClient并将jar添加到我的项目文件夹中,但仍然无法导入它.

它显示无法解析符号okhttp.
我尝试了一些解决方案,但无法解决问题.这是我的build.gradle文件

apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsversion "23.0.0"

    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }


}

dependencies {
    compile filetree(dir: 'libs',include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.google.android.gms:play-services:8.4.0'
 //   compile files('libs/okhttp-3.0.1.jar')
   // compile files('libs/okio-1.6.0.jar')


}

解决方法

Gradle应该有这样一条线
compile 'com.squareup.okhttp3:okhttp:3.0.1'

这就是你导入它的方式

import okhttp3.OkHttpClient;

因为OkHttpClient已从包com.squareup.okhttp移到上一版本的okhttp3.

更多细节是here和here

android – 无法执行dex:多个dex文件再次定义Lcom / ….

android – 无法执行dex:多个dex文件再次定义Lcom / ….

我一直在寻找,有很多相关的帖子,但似乎没有一个明确的解决方案(例如 Error when building apk – “Multiple dex files define Lcom/google/ads/Ad”)

我已经尝试过清理/更新/重启eclipse – 其他帖子中提到的所有内容.

我的项目构建,我可以在设备上运行它.但是,当我尝试导出已签名的apk时,我收到错误.

我没有得到其他项目的错误 – 所有这些都在更新adt等之前有效但由于某种原因某个特定项目不会导出…

正如我所说,我可以在eclipse中构建项目并运行/调试它 – 我只是无法导出它.

解决方法

问题的根本原因是其中一个库使用nineoldandroid库作为存储在./libs目录中的jar,而另一个项目使用nineoldandroid引用它

我们今天的关于java – 转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom / squareup / okhttp / Address;的分享就到这里,谢谢您的阅读,如果想了解更多关于Android Gradle DexException:多个dex文件定义Lorg / hamcrest / Description、android – ‘转换为Dalvik格式失败,错误1’和’java.lang.IllegalArgumentException:已添加:’、android – 无法导入com.squareup.okhttp.OkHttpClient;、android – 无法执行dex:多个dex文件再次定义Lcom / ….的相关信息,可以在本站进行搜索。

本文标签: