gpt4 book ai didi

android - Galaxy Ace (GT-S5830B) 上的 NoSuchMethodError

转载 作者:行者123 更新时间:2023-11-29 17:55:03 27 4
gpt4 key购买 nike

我发布了一个包含 map API (google-play-services) 和 ActionBar Sherlock 的应用程序,并且我在太多设备、多个版本中进行了太多测试。

但是有一个用户用他的设备(Galaxy Ace(GT-S5830B))下载了应用程序(https://play.google.com/store/apps/details?id=br.ufc.ondefica),当他去抽屉上的“Ver Mapa”(见 map )菜单时,他有以下异常:

java.lang.NoSuchMethodError: java.io.IOException.<init>
at com.google.android.gms.internal.g.f(Unknown Source)
at com.google.android.gms.internal.g.b(Unknown Source)
at com.google.android.gms.internal.e.a(Unknown Source)
at com.google.android.gms.internal.e.a(Unknown Source)
at com.google.android.gms.internal.bq.ac(Unknown Source)
at com.google.android.gms.internal.cg$1.run(Unknown Source)
at com.google.android.gms.internal.ch$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)

这就是 Google Play 向我展示的所有内容。所以,我在 Internet 上查找错误,我发现这个错误可能是由于 map 应用程序(但它运行良好,用户说)或者它可能与接收到的 IOException 构造函数有关类似 Throwable 的参数(API 级别 9)。我不知道这个错误在哪里,即使它正在与此设备具有相同 API 级别的另一台设备上工作。

这是我的 MapFragment 代码:

public class UFCMapFragment extends FragmentWithSearch {
private GoogleMap map;
private int positionToShow = 3;
private boolean isDefaultView = true;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.map_layout, container, false);
((MainActivity) getActivity()).setTitle(getResources().getStringArray(R.array.sliding_menu)[0]);
return root;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
map = ((SupportMapFragment) getActivity().getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
map.setMyLocationEnabled(true);
Bundle bundle = getArguments();
if (bundle != null && bundle.containsKey("positionToShow")) {
isDefaultView = false;
positionToShow = bundle.getInt("positionToShow");
}
loadMap();
// Move the camera instantly to the default place to show with a zoom of
// 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(DataHelper.data.places
.get(positionToShow).getCoordinates(), 13));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(16), 4000, null);
}

private void loadMap() {
for (int i = 0; i < DataHelper.data.places.size(); i++) {
Placemark place = DataHelper.data.places.get(i);
Marker marker = map.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(ParserKML
.loadMapOfIcons(place.getIconID())))
.title(place.getName()).snippet(place.getDescription())
.position(place.getCoordinates()));
if (i == positionToShow && !isDefaultView)
marker.showInfoWindow();
}
}

public void onDestroyView() {
super.onDestroyView();
Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));
FragmentTransaction ft = getActivity().getSupportFragmentManager()
.beginTransaction();
ft.remove(fragment);
ft.commit();
}
}

提前致谢

最佳答案

交叉发布自:


stracktrace 的第一行给了你一个线索:

java.lang.NoSuchMethodError: java.io.IOException.<init>

基本上是说 IOException 的一些构造函数丢失了。看着 javadocs ,在 API 级别 9 中添加了两个构造函数:

public IOException (Throwable cause)
public IOException (String message, Throwable cause)

这应该可以回答您的问题。 API 级别 9 是 Android 2.3。因此,堆栈跟踪来自运行 Android 2.2 或更低版本的设备,它缺少上面的两个构造函数。

至少有两种方案可以解决问题:

  • 将应用 list 中的 minSdkVersion 更改为 9
  • 不要使用最新的 Google Play 服务库,而是使用 Froyo 版本。

后者您可以在 SDK 管理器中找到。它是用 last update 添加的因为对 Froyo (Android 2.2) 的支持被删除了。引用链接的博客文章:

With over 97% of devices now running Android 2.3 (Gingerbread) or newer platform versions, we’re dropping support for Froyo from this release of the Google Play services SDK in order to make it possible to offer more powerful APIs in the future. That means you will not be able to utilize these new APIs on devices running Android 2.2 (Froyo).

关于android - Galaxy Ace (GT-S5830B) 上的 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991599/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com