Что вызывает "ошибка: атрибут mapbox_styleUrl не найден"? - PullRequest
0 голосов
/ 15 января 2019

Я получаю сообщение об ошибке «атрибут mapbox_styleUrl not found» при попытке внедрить SDK для навигации Mapbox в мой проект. Я думаю, что это связано с миграцией Map SDK на 7.0.0, где они удалили XML-атрибут mapbox_styleUrl, но я не могу найти способ исправить это.

Я не использую styleUrl ни в одном из моих кодов. Я оставляю стиль карты в макете по умолчанию и устанавливаю его в onMapReady.

Это полная ошибка:

Android resource linking failed
Output:  C:\Users\Jonas\.gradle\caches\transforms-1\files-1.1\mapbox-android-navigation-ui-0.26.0.aar\0ea5c6919c35d65de36f46fe7fce49d7\res\layout\navigation_view_layout.xml:10: error: attribute mapbox_styleUrl (aka com.fishdev.planmyrun:mapbox_styleUrl) not found.
error: failed linking file resources.

Завершено build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.fishdev.planmyrun"
        minSdkVersion 24
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

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

    //  Mapbox dependencies
    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.0.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v7:0.4.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.26.0'

}

My MapView в макете:

<com.mapbox.mapboxsdk.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        mapbox:mapbox_cameraTargetLat="50.87485515"
        mapbox:mapbox_cameraTargetLng="4.707931288875566"
        mapbox:mapbox_cameraZoom="11"
        /> 

1 Ответ

0 голосов
/ 15 января 2019

Сегодня я столкнулся с точно такой же проблемой при переносе приложения Android с Mapbox Android SDK 6.5.0 на 7.0.0.

У меня тоже не было mapbox_styleUrl использования в моем коде, поэтому я потратил немного времени на расчесывание головы, прежде чем заметил, что ошибка ссылается на mapbox-android-navigation-ui-0.26.0, который, по-видимому, использует этот атрибут (удалено в Mapbox Android SDK 7.0.0 ). При более глубоком изучении хранилища Mapbox для Android я заметил, что последний коммит ( из ~ 6 часов назад ) из mapbox-android-navigation-ui привел все в порядок на сегодняшний день с Mapbox Android SDK 7.0.0.

Поскольку эти исправления еще не были включены в официальный выпуск, я добавил последний выпуск моментального снимка в свой проект, обновив свои зависимости с помощью Gradle:

repositories {
    mavenCentral()
    maven { url "http://oss.sonatype.org/content/repositories/snapshots/" }
}

dependencies {
    implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.27.0-SNAPSHOT'
}

Я искренне надеюсь, что избавит вас от головной боли!

...