Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
com.google.android.maps.GestureDetector上的NoSuchMethodError_Android - Fatal编程技术网

com.google.android.maps.GestureDetector上的NoSuchMethodError

com.google.android.maps.GestureDetector上的NoSuchMethodError,android,Android,我的应用程序是使用谷歌地图。对于大多数设备来说都很好。但在某些未知设备上,它会引发异常: Caused by: java.lang.NoSuchMethodError: android.view.ViewConfiguration.getScaledDoubleTapTouchSlop at com.google.android.maps.GestureDetector.init(GestureDetector.java:393) at com.google.android.maps.Gestu

我的应用程序是使用谷歌地图。对于大多数设备来说都很好。但在某些未知设备上,它会引发异常:

Caused by: java.lang.NoSuchMethodError: android.view.ViewConfiguration.getScaledDoubleTapTouchSlop
at com.google.android.maps.GestureDetector.init(GestureDetector.java:393)
at com.google.android.maps.GestureDetector.<init>(GestureDetector.java:354)
at com.google.android.maps.GestureDetector.<init>(GestureDetector.java:329)
at com.google.android.maps.MapView.setup(MapView.java:330)
at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:404)
at com.google.android.maps.MapView.<init>(MapView.java:289)
at com.google.android.maps.MapView.<init>(MapView.java:264)
at com.google.android.maps.MapView.<init>(MapView.java:247)
at mypackage.MyClass.<init>(MyClass.java:43)
... 41 more
原因:java.lang.NoSuchMethodError:android.view.ViewConfiguration.getScaledDoubleTapTouchSlop
位于com.google.android.maps.gesturedector.init(gesturedector.java:393)
位于com.google.android.maps.GestureDetector。(GestureDetector.java:354)
在com.google.android.maps.GestureDetector上(GestureDetector.java:329)
位于com.google.android.maps.MapView.setup(MapView.java:330)
位于com.google.android.maps.MapActivity.setupMapView(MapActivity.java:404)
位于com.google.android.maps.MapView(MapView.java:289)
位于com.google.android.maps.MapView(MapView.java:264)
在com.google.android.maps.MapView上
在mypackage.MyClass.(MyClass.java:43)
... 41多
项目目标是谷歌API平台4.0,API级别14


有人知道如何修复它吗?

原因是您使用理解它的编译器编译了此方法。但JVM在运行时不理解它。(不兼容问题)。

可能是因为应用程序在旧的Android版本(在4.0下)上运行。因此,当在代码中调用该方法时,您会得到一个
NoSuchMethodError
,因为该方法在以前的API中不存在


编辑:应该可以,因为该方法是从API 3开始的,但可能您错过了一些导入?

我的一个使用googlemaps的应用程序也有同样的问题。它在AndroVM和ADK模拟器上运行良好,但在我的Nextbook 7上使用Finless ROM修改了相同的丢失方法,因此崩溃。我使用“baksmali”工具进行了进一步调查,以确定我的Nextbook上的/system/framework/framework.jar与其他方法不同,该方法实际上丢失了

所以,也许你设备上的framework.jar也是罪魁祸首


更新:我终于明白了!
我从ADK emulator上取了一个更新的/system/framework/com.google.android.maps.jar,而不是2008年的Cynagen

更新:我终于找到了! 我从ADK emulator上取了一个更新的/system/framework/com.google.android.maps.jar,而不是从2008年就过时的Cynogen上取的