Java 添加地图框依赖项时出现毕加索依赖项错误
基本上,在我添加了地图盒依赖项之后,我从毕加索依赖项中得到了一个错误 My build.gradle地图框代码:Java 添加地图框依赖项时出现毕加索依赖项错误,java,android-studio,dependencies,mapbox,picasso,Java,Android Studio,Dependencies,Mapbox,Picasso,基本上,在我添加了地图盒依赖项之后,我从毕加索依赖项中得到了一个错误 My build.gradle地图框代码: implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:7.0.0@aar') { transitive=true } implementation 'com.mapbox.mapboxsdk:mapbox-android-navi
implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:7.0.0@aar')
{
transitive=true
}
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.27.0'
implementation ('com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.27.0')
{
transitive = true
}
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.5.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-markerview-v9:0.4.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-places-v9:0.12.0'
错误:
在我的主要活动中,我使用了一个回调方法,该方法使用了Reformation2依赖项
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
以下方法使用的是
private void reverseGeocode(final Point point) {
try {
MapboxGeocoding client = MapboxGeocoding.builder()
.accessToken(getString(R.string.access_token))
.query(Point.fromLngLat(point.longitude(), point.latitude()))
.geocodingTypes(GeocodingCriteria.TYPE_ADDRESS)
.build();
client.enqueueCall(new Callback<GeocodingResponse>() {
@Override
public void onResponse(Call<GeocodingResponse> call, Response<GeocodingResponse> response) {
if (response.body() != null) {
List<CarmenFeature> results = response.body().features();
if (results.size() > 0) {
CarmenFeature feature = results.get(0);
// If the geocoder returns a result, we take the first in the list and show a Toast with the place name.
mapboxMap.getStyle(new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
if (style.getLayer(DROPPED_MARKER_LAYER_ID) != null) {
Toast.makeText(MainActivity.this,
String.format(getString(R.string.location_picker_place_name_result),
feature.placeName()), Toast.LENGTH_SHORT).show();
}
}
});
} else {
Toast.makeText(MainActivity.this,
getString(R.string.location_picker_dropped_marker_snippet_no_results), Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onFailure(Call<GeocodingResponse> call, Throwable throwable) {
Timber.e("Geocoding Failure: %s", throwable.getMessage());
}
});
} catch (ServicesException servicesException) {
Timber.e("Error geocoding: %s", servicesException.toString());
servicesException.printStackTrace();
}
}
这些依赖关系可能会发生冲突,但我不确定,我在猜测这一点
但是保证了上面的毕加索依赖项只在我添加地图盒依赖项时不断弹出,如果不是的话,它们不会显示
有人能给我一个解决方案吗,这将是一个很大的帮助。好的,这是刚出炉的,我真的不知道它为什么会起作用或者是什么原因,但是当你添加MapBox的导航依赖项时,它似乎也会更新你的毕加索依赖项(疯狂,我知道,但请跟我说说) 我得到的症状基本上有两个,第一个是使用
Picasso.with(context)
获取毕加索实例时完全失败。因此,从版本2.71828开始,这种获取实例的方法实际上已经被弃用了,或者至少(它也可以工作),现在它只是Picasso.get()
我得到的第二个症状是所有目标对象都有问题,旧的忠实的onBitmapFailed(Drawable errorDrawable)
方法将其签名更改为包含一个异常对象作为第一个参数,使其onBitmapFailed(Exception e,Drawable errorDrawable)
现在,当我注意到这种模式并简单地更新了所有失败的毕加索调用后,我终于能够使用MapBox的依赖项构建我的应用程序,并且所有旧功能都没有被改变
现在,正如我所提到的,我真的不知道为什么会发生这种情况,很明显,MapBox在引擎盖下做了一些事情,迫使毕加索更新到其最新版本,或者至少在我看来是这样的
目前,我让它像这样工作,但任何关于为什么会发生这种情况的想法都将不胜感激。如果我自己找到的话,我一定会把它们贴在这里。我也遇到过同样的问题,我已经找到了解决办法。尝试将以下内容添加到build.gradle中:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}