Rafael Silvério
Rafael Silvério

Reputation: 27

Mapbox - Error importing classes inside "com.mapbox.services.android.telemetry" package

I'm trying to follow the Build a navigation app for Android by Mapbox, but I'm having an issue with importing classes inside "com.mapbox.services.android.telemetry" package.

The specific error message is: "Cannot find symbol telemetry"

I've configured everything just like in the tutorial, but cannot figure out the problem with the telemetry package.

On Google, there is no one with the exact same problem, so I need your help.

This is my gradle (project):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

This is my gradle (app):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.hosttrafford.mapboxdemoapp"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:6.0.1@aar') {
        transitive=true
    }
    implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.12.0'
    implementation ('com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.12.0') {
        transitive = true
    }
}

And these are the missing imports:

import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.location.LocationEnginePriority;
import com.mapbox.services.android.telemetry.permissions.PermissionsListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

Upvotes: 0

Views: 2978

Answers (1)

xiaomi
xiaomi

Reputation: 6703

The tutorial shown on their website is using Mapbox sdk version 5.

First Solution

You can use the version 5.5.2 instead of 6.0.1.

Second Solution

Keep the version 6.0.1 and change the import paths.

import com.mapbox.android.core.location.LocationEngine
import com.mapbox.android.core.location.LocationEngineListener
import com.mapbox.android.core.location.LocationEnginePriority
import com.mapbox.android.core.permissions.PermissionsListener
import com.mapbox.android.core.permissions.PermissionsManager

Android > Code > Optimize Imports may help you to find the appropriate classes.

Upvotes: 1

Related Questions