是什么导致“错误:找不到属性mapbox_styleUrl”?

时间:2019-01-14 23:57:07

标签: java android navigation mapbox

当尝试在我的项目中实现Mapbox的导航SDK时,我一直收到错误消息“找不到mapbox_styleUrl属性”。 我认为这与将Map SDK迁移到7.0.0有关,在该版本中他们删除了mapbox_styleUrl XML属性,但我找不到解决此问题的方法。

我没有在任何代码中使用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'

}

我的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 :(得分:0)

今天,我在将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 Navigation Android repository进行了更深入的研究,我注意到mapbox-android-navigation-ui的{​​{3}}(大约6个小时前) 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'
}

我衷心希望能为您省心!