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

Posted

技术标签:

【中文标题】是啥导致“错误:找不到属性 mapbox_styleUrl”?【英文标题】:What is causing the "error: attribute mapbox_styleUrl not found"?是什么导致“错误:找不到属性 mapbox_styleUrl”? 【发布时间】:2019-06-08 23:55:20 【问题描述】:

尝试将 Mapbox 的 Navigation 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_
        android:layout_
        mapbox:mapbox_cameraTargetLat="50.87485515"
        mapbox:mapbox_cameraTargetLng="4.707931288875566"
        mapbox:mapbox_cameraZoom="11"
        /> 

【问题讨论】:

【参考方案1】:

我今天在将 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 的latest commit(大约 6 小时前)使用 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'

我真诚地希望这可以让你头疼!

【讨论】:

以上是关于是啥导致“错误:找不到属性 mapbox_styleUrl”?的主要内容,如果未能解决你的问题,请参考以下文章

是啥导致了这个推进错误?

是啥导致了 NSInvalidArgumentException?

是啥导致移动构造函数被删除

是啥导致系统发出蜂鸣声?

是啥导致 opensuse Docker 膨胀?

是啥导致连接中止?