Исключение RuntimeException при использовании mapbox-android-plugin-places-v9: 0.12.0

#java #android #android-studio #mobile #mapbox

#java #Android #android-studio #Мобильный #mapbox

Вопрос:

Я в основном получаю ошибку времени выполнения при использовании приведенной ниже зависимости:

 implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-places-v9:0.12.0'
 

Ошибка:

 Caused by: java.lang.RuntimeException
 

введите описание изображения здесь

Полный файл gradle:

 apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'


    def ENVIRONMENT_PRODUCTION = ""ENVIRONMENT_PRODUCTION""
    def ENVIRONMENT_TEST_BED = ""ENVIRONMENT_TEST_BED""
    def ENVIRONMENT_DA = ""ENVIRONMENT_DA""
    def ENVIRONMENT_LOCAL_GENY = ""ENVIRONMENT_LOCAL_GENY""
    def ENVIRONMENT_LOCAL_EMUL = ""ENVIRONMENT_LOCAL_EMUL""

    //Select Correct Build Environment  before building from above
    def BUILD_ENVIRONMENT = ENVIRONMENT_TEST_BED

    lintOptions {
        abortOnError false
    }

    signingConfigs {
        release {
            storeFile file("etc/keys/apptizer.keystore")
            storePassword "apptizer"
            keyAlias "apptizer"
            keyPassword "apptizer"
        }
        clover {
            storeFile file("etc/keys/apptizer.keystore")
            storePassword "apptizer"
            keyAlias "apptizer"
            keyPassword "apptizer"
            v2SigningEnabled false
        }
    }

    def buildType = "debug"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 176
        versionName "1.0.0.14.RELEASE"
        multiDexEnabled true
        signingConfig signingConfigs.release
        buildConfigField "String", "ENVIRONMENT", BUILD_ENVIRONMENT
        logger.warn('nnBUILD ENVIRONMENT SELECTED >>> '   BUILD_ENVIRONMENT   "nn")

        applicationVariants.all { variant ->
            renameAPK(variant, defaultConfig, BUILD_ENVIRONMENT, buildType)
        }
    }

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

    flavorDimensions "main"

    productFlavors {
        poynt {
            applicationId "io.apptizer.pos"
            dimension "main"
        }
        standalone {
            applicationId "io.apptizer.merchant.standalone"
            dimension "main"
        }
        dtp_hnb {
            applicationId "io.apptizer.merchant.dtp.hnb"
            dimension "main"
        }
        clover {
            applicationId "io.apptizer.business.clover"
            minSdkVersion 17
            targetSdkVersion 25
            signingConfig signingConfigs.clover
            dimension "main"
        }
        aevi {
            applicationId "io.apptizer.merchant.aevi"
            minSdkVersion 22
            dimension "main"
        }
        verifone {
            applicationId "io.apptizer.merchant.verifone"
            minSdkVersion 22
            dimension "main"
        }
    }
    dataBinding {
        enabled true
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

    preBuild.dependsOn copyConfig(BUILD_ENVIRONMENT)

}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: ['*.jar'], dir: 'libs/printer')
    implementation fileTree(include: ['*.aar'], dir: 'libs/single-date-and-time-picker')
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.gridlayout:gridlayout:1.0.0'
    //Swipeable list view
    implementation "com.daimajia.swipelayout:library:1.2.0@aar"
    //color picker
    implementation 'com.larswerkman:HoloColorPicker:1.5'
    //image loader
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.okhttp:okhttp:2.7.5'
    // Poynt Dependencies
//    poyntImplementation 'co.poynt.api:android-api-model:1.2.108@jar'
//    poyntImplementation 'co.poynt.android.sdk:poynt-sdk:1.2.27@aar'
    //QR Code Reader dependencies
    implementation 'com.google.zxing:core:3.2.1'
    implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
    //GCM dependencies
    implementation 'com.google.android.gms:play-services-analytics:11.0.4'

    implementation('com.github.jkwiecien:EasyImage:2.0.0') {
        transitive = false
    }
    dtp_hnbImplementation(name: 'mswipechippersdk', ext: 'aar')
    aeviImplementation(name: 'AeviApi-2.7.2', ext: 'aar')
    cloverImplementation 'com.clover.sdk:clover-android-sdk:219.5'
    verifoneImplementation(name: 'PaymentManager-1.9.0.352-release', ext: 'aar')
    verifoneImplementation(name: 'DeveloperSDK-release-2.3.18', ext: 'aar')
    //dropbox sdk
    implementation 'com.dropbox.core:dropbox-core-sdk:3.0.3'
    implementation 'com.squareup.okhttp3:okhttp:3.5.0'
    implementation 'androidx.multidex:multidex:2.0.0'
    //Fullscreen webview
    implementation 'com.thefinestartist:finestwebview:1.2.7'
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true;
    }
    implementation 'com.github.gcacace:signature-pad:1.2.1'
    implementation 'org.apache.httpcomponents:httpmime:4.2.3'
    implementation "com.mikepenz:iconics-core:3.0.3@aar"
    implementation "com.mikepenz:iconics-views:3.0.3@aar"
    implementation 'com.mikepenz:ionicons-typeface:2.0.1.4@aar'
    implementation 'com.mikepenz:fontawesome-typeface:5.0.13.0@aar'

    //  compile 'com.squareup.okhttp3:logging-interceptor:3.9.1'

    def lifecycle_version = "1.1.1"

    // ViewModel and LiveData
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    annotationProcessor 'androidx.lifecycle:lifecycle-compiler:2.0.0'

    //DateTime Picker : https://github.com/florent37/SingleDateAndTimePicker
//    implementation 'com.github.florent37:singledateandtimepicker:2.1.0'

    //Used to generate html bitmap for newer receipt versions
    implementation 'com.izettle:html2bitmap:1.9'
    implementation 'org.apache.velocity:velocity:1.7'
    //todo need to be removed and implemented in our own way had to added as a hotfix for round1 unreproducible crash
    implementation 'me.drakeet.support:toastcompat:1.1.0'

    //GCM dependencies
    implementation 'com.google.android.gms:play-services-gcm:16.1.0'
    implementation 'com.google.android.gms:play-services-analytics:16.0.8'

    //Firebase
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-database:17.0.0'

    //Streams
    implementation 'com.annimon:stream:1.2.1'

    // Rx Java
    implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

    // Retrofit
//    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
//    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
//    implementation 'com.squareup.retrofit2:adapter-rxjava2:2 '
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'

    implementation 'com.google.android.material:material:1.0.0'

    //map
    implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:8.1.0'){
        exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-telemetry'
    }
    implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.27.0'
    implementation ('com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.27.0')
            {
                transitive = true
                exclude group: 'com.squareup.picasso'
            }
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.5.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-markerview-v9:0.4.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-places-v9:0.12.0'
}

def renameAPK(variant, defaultConfig, environment, buildType) {
    variant.outputs.all { output ->
        def readableEnvironment = environment.replace(""", "").replace("_", "-").toLowerCase()
        outputFileName = applicationName   "-v-"   defaultConfig.versionName   "-"   defaultConfig.versionCode   "-"   variant.productFlavors[0].name   "-"   buildType   "-"   readableEnvironment   ".apk"
    }
}

def copyConfig(environment) {

    return tasks.create("copyConfiguration", Copy) {
        logger.warn('Copy config for envi >>> '   environment   "nn")
        def directoryToCopy
        switch (environment) {
            case ""ENVIRONMENT_PRODUCTION"":
                directoryToCopy = "env/production/"
                break;
            case ""ENVIRONMENT_TEST_BED"":
                directoryToCopy = "env/testbed/"
                break;
            default:
                directoryToCopy = "env/development/"
        }
        from directoryToCopy
        into '.'
    }
}

 

Было бы очень признательно, если бы кто-нибудь мог помочь мне с решением этой ошибки.

Ответ №1:

Замена всех зависимостей mapbox на это решила мою проблему :

     implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:8.1.0') {
        exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-telemetry'
    }
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-places-v8:0.9.0'
 

Я думаю, вы должны убедиться, что зависимости и плагины совместимы друг с другом, лучше использовать аналогичные версии.