当尝试在我的项目中实现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"
/>
答案 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'
}
我衷心希望能为您省心!