Java osm奖金包迁移崩溃
我有一个使用osmdroid和(非常有用的)osm奖金包库开发的全功能映射Android应用程序。我使用了osmdroid 3.0.10和osm奖金包v3.6。一段时间以来,我一直想迁移到osm bonus pack v4.2.9,以使用一些新功能,如标记群集。当我试图改变这一切时,第一个问题是用FolderOverlay替换标记的grouper,正如osm奖金包教程中所解释的,以及定义:Java osm奖金包迁移崩溃,java,android,map,osmdroid,Java,Android,Map,Osmdroid,我有一个使用osmdroid和(非常有用的)osm奖金包库开发的全功能映射Android应用程序。我使用了osmdroid 3.0.10和osm奖金包v3.6。一段时间以来,我一直想迁移到osm bonus pack v4.2.9,以使用一些新功能,如标记群集。当我试图改变这一切时,第一个问题是用FolderOverlay替换标记的grouper,正如osm奖金包教程中所解释的,以及定义: FolderOverlay=新的FolderOverlay(此); 它崩溃,并有以下logcat输出 0
FolderOverlay=新的FolderOverlay(此);
它崩溃,并有以下logcat输出
03-27 17:37:54.385 222-222/org.downtherabbithole E/AndroidRuntime﹕ java.lang.RuntimeException: Unable to start activity ComponentInfo{org.downtherabbithole/org.downtherabbithole.GeneralMapViews.GeneralMapActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.osmdroid.views.overlay.OverlayManager.setTilesOverlay(OverlayManager.java:92)
at org.osmdroid.views.overlay.OverlayManager.<init>(OverlayManager.java:27)
at org.osmdroid.bonuspack.overlays.FolderOverlay.<init>(FolderOverlay.java:24)
at org.downtherabbithole.droid.GeneralMapViews.GeneralMapActivity.onCreate(GeneralMapActivity.java:128)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
它崩溃了,错误是NoSuchMethodError,Geolocation.clone(),为什么它试图调用Geolocation对象上的clone()方法,当我使用osm bonus pack v3.6设置ItemizedOverlayWithBubble时,它没有尝试这样做
Go当您迁移到OSMBonuspackV4.2.9时,您是否也将osmdroid jar迁移到了v4.1
(这是强制性的:v4.2.6中的OSMBonusPack JAR基于osmdroid v4.1)我尝试迁移这两个版本后,我将接受您的答案,但似乎就是这样。