Dynamsoft Android SDK конфликтует с охтт3 - PullRequest
0 голосов
/ 11 сентября 2018

Я работаю в проекте компании, и существует необходимость интеграции Dynamsoft Android SDK для сканирования документов. Эта проблема, когда зависимость sdk добавляется в текущий проект, он сталкивается с okhttp3 при выдаче этой ошибки на Build-console:

** Не удалось выполнить задачу ': app: transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: ошибка при объединении архивов dex: Тип программы уже присутствует: okhttp3.Address Узнайте, как решить проблему в https://developer.android.com/studio/build/dependencies#duplicate_classes.**

Как предполагается в консоли разработчика, okhttp3 был исключен (на самом деле многократным образом) из зависимости от Dynamsoft, но проблема остается.

 apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-kapt'

android {
    buildToolsVersion "28.0.2"
    compileSdkVersion 28
    defaultConfig {
        applicationId "no.aspit.capture"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }

        dev {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
        debug {

        }
    }

    lintOptions {
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'okhttp3/internal/publicsuffix/publicsuffixes.gz'
    }
}


kotlin {
    experimental {
        coroutines 'enable'
    }
}

androidExtensions {
    experimental = true
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.cardview:cardview:1.0.0-rc02'
    implementation 'androidx.core:core-ktx:1.0.0-rc02'
    implementation "android.arch.work:work-runtime-ktx:1.0.0-alpha08"
    implementation 'androidx.preference:preference:1.0.0-rc02'
    implementation 'androidx.fragment:fragment-ktx:1.0.0-rc02'

    implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc02'
    implementation 'com.google.android.material:material:1.0.0-rc01'

    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    implementation 'com.squareup.moshi:moshi-kotlin:1.6.0'
    implementation 'com.squareup.retrofit2:converter-moshi:2.4.0'

    kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.6.0'

    testImplementation 'junit:junit:4.12'

    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'


    implementation 'de.hdodenhof:circleimageview:2.2.0'

    implementation 'com.github.ittianyu:BottomNavigationViewEx:1.2.4'
    //noinspection GradleCompatible
    implementation "com.android.support:design:26.1.0"
    implementation 'com.squareup.picasso:picasso:2.71828'
    //Joda time
    implementation 'net.danlew:android.joda:2.9.9.4'
    // Image Compression
    implementation 'id.zelory:compressor:2.1.0'

    //Stetho
    implementation 'com.facebook.stetho:stetho:1.5.0'
    implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'

    //Dynumsoft
    implementation ('com.dynamsoft:dynamsoftcamerasdk:2.0@aar'){
    exclude group: 'com.squareup.okhttp3'
    }


}

repositories {
    maven {
        url "http://download.dynamsoft.com/maven/dcs"
    }

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете попытаться разрешить конфликт следующим образом:

configurations.all {
    all*.exclude group: 'com.squareup.okhttp3', module: 'okhttp'
    all*.exclude group: 'com.squareup.okio', module: 'okio'
    resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.10.0'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.cardview:cardview:1.0.0-rc02'
    implementation 'androidx.core:core-ktx:1.0.0-rc02'
    implementation "android.arch.work:work-runtime-ktx:1.0.0-alpha08"
    implementation 'androidx.preference:preference:1.0.0-rc02'
    implementation 'androidx.fragment:fragment-ktx:1.0.0-rc02'

    implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc02'
    implementation 'com.google.android.material:material:1.0.0-rc01'

    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    implementation 'com.squareup.moshi:moshi-kotlin:1.6.0'
    implementation 'com.squareup.retrofit2:converter-moshi:2.4.0'

    kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.6.0'

    testImplementation 'junit:junit:4.12'

    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'


    implementation 'de.hdodenhof:circleimageview:2.2.0'

    implementation 'com.github.ittianyu:BottomNavigationViewEx:1.2.4'
    //noinspection GradleCompatible
    implementation "com.android.support:design:26.1.0"
    implementation 'com.squareup.picasso:picasso:2.71828'
    //Joda time
    implementation 'net.danlew:android.joda:2.9.9.4'
    // Image Compression
    implementation 'id.zelory:compressor:2.1.0'

    //Stetho
    implementation 'com.facebook.stetho:stetho:1.5.0'
    implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'

    //Dynumsoft
    implementation ('com.dynamsoft:dynamsoftcamerasdk:2.0@aar')
}
...