0

I am getting a MISSING_LIBRARIES error on an activity that has a HERE Maps fragment, the error is coming from HERE Maps whenever it tries to initialize the map through the init() method and then onEngineInitializationCompleted gets called with the error code MISSING_LIBRARIES. It works fine until I added card.io dependency on build.gradle file.

So I am using card.io version 5.1.2 and the HERE Maps version is 3.0.2 Premium SDK for Android. minSdkVersion for Android is 14

What should I do to stop the card.io dependency from conflicting with HERE Maps?

build.gradle script file

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
        classpath 'com.google.gms:google-services:1.3.0-beta1'
    }
}

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

android {
    compileSdkVersion 22
    buildToolsVersion '21.1.2'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 22
        versionCode getBuildNumber()
        versionName "3.0.0"
        applicationId "com.example"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled false
    }

    packagingOptions {
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
}

dependencies {
    repositories {
        mavenCentral()

        flatDir {
            dirs 'lib'
        }
    }

    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:cardview-v7:22.2.0'
    compile 'com.android.support:recyclerview-v7:22.2.0'
    compile 'com.android.support:design:22.2.0'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'org.roboguice:roboguice:3.0.1'
    compile 'io.card:android-sdk:5.1.2'
    provided 'org.roboguice:roboblender:3.0.1'
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'
    compile 'com.google.code.gson:gson:2.3.1'
    compile files('lib/HERE-sdk.jar')
    compile 'com.google.guava:guava:18.0'
    compile 'com.wdullaer:materialdatetimepicker:1.4.2'
    compile 'com.google.android.gms:play-services-analytics:7.8.0'
    compile 'com.google.android.gms:play-services-gcm:7.8.0'
    compile 'com.pubnub:pubnub-android:3.7.5'
    compile 'org.joda:joda-convert:1.8'
    compile 'org.joda:joda-money:0.10.0'
    compile ('commons-validator:commons-validator:1.4.1'){
        transitive = false
    }

}
Aram Tchekrekjian
  • 925
  • 11
  • 26

1 Answers1

0

Check your manifest.xml file. Add below permissions under manifest tag.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>