为什么“程序类型已存在:org.apache.commons.lang3.CharSetUtils”

时间:2018-08-24 01:08:49

标签: android azure android-studio azure-iot-hub

我已经将几个项目混合在一起(其中一个是天蓝色的物联网),用于Android构建。我花了几天的时间来修正错误,现在却被困在这一错误上:

  

程序类型已存在:org.apache.commons.lang3.CharSetUtils   消息{种类=错误,文本=程序类型已存在:org.apache.commons.lang3.CharSetUtils,来源= [未知源文件],工具名称= Optional.of(D8)}

我看过其他有关其他图书馆的文章,但这对我没有帮助。我检查了依赖关系,所有对lang3库的引用都是相同的版本(并且全部由Azure使用)。

任何想法是什么,如何解决,或者一般如何调试?

Gradle构建文件。请注意,如果我在底部省略了对Azure的最后一个依赖关系,则所有构建都很好。但是我确实需要Azure!

    apply plugin: 'com.android.library'

android {
    compileSdkVersion 19
    buildToolsVersion "27.0.3"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

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

dependencies {
    compile project(':shimmerDriver')
//    compile 'com.android.support:support-v4:19.1.0'
    implementation ('com.android.support:support-v4:27.1.1')
    compile files('libs/AndroidBluetoothLibrary.jar')
    compile files('libs/androidplot-core-0.5.0-release.jar')
}
repositories {
    mavenCentral()
}

dependencies {
    // Remote binary dependency
    compile 'com.microsoft.azure.sdk.iot:iot-device-client:1.5.37'
}

1 个答案:

答案 0 :(得分:0)

这可能会从缓存中显示出来,因此您可以运行

  

./ gradlew clean cleanBuildCache:app:assembleDebug

从命令行

您可以在这里张贴它,以便我帮助您吗? 您可以检查implementationclasspath

希望这对您有所帮助。