2012-04-18 102 views
1

我已经通过Google的MapView教程,它可以在模拟器上正常工作,例如在我的HTC Flyer上。但由于某种原因,它在我的手机(Samsung Galaxy I9000)上启动时会立即崩溃。某些设备上的MapView/MapActivity崩溃

崩溃发生在那里,因为在开始的时候,onCreate()收到的Bundle是null。我正在编译Android 2.3.3。这也安装在手机上。传单使用Android 3.0

我非常感谢在这个奇怪的问题上的任何帮助。

这是excact logcat的输出:

04-18 10:52:26.019: E/AndroidRuntime(1461): FATAL EXCEPTION: main 
04-18 10:52:26.019: E/AndroidRuntime(1461): java.lang.RuntimeException: Unable to start activity ComponentInfo{bernd.konnerth/bernd.konnerth.HelloMapViewActivity}: java.lang.NullPointerException 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.os.Looper.loop(Looper.java:123) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread.main(ActivityThread.java:3687) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at dalvik.system.NativeStart.main(Native Method) 
04-18 10:52:26.019: E/AndroidRuntime(1461): Caused by: java.lang.NullPointerException 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ContextImpl.openFileOutput(ContextImpl.java:495) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.io.android.AndroidPersistentStore.writeBlockX(AndroidPersistentStore.java:140) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.io.android.AndroidPersistentStore.writeBlock(AndroidPersistentStore.java:169) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.io.PreferenceStore.ensurePreferencesLoaded(PreferenceStore.java:178) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.io.PreferenceStore.readPreference(PreferenceStore.java:86) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.io.BasePersistentStore.readPreference(BasePersistentStore.java:41) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.common.StaticUtil.readPreferenceAsDataInput(StaticUtil.java:271) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.loadOrRequestCookie(DataRequestDispatcher.java:493) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.<init>(DataRequestDispatcher.java:390) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.createInstance(DataRequestDispatcher.java:341) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at com.google.android.maps.MapActivity.createMap(MapActivity.java:548) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at com.google.android.maps.MapActivity.onCreate(MapActivity.java:422) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at bernd.konnerth.HelloMapViewActivity.onCreate(HelloMapViewActivity.java:15) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
04-18 10:52:26.019: E/AndroidRuntime(1461):  ... 11 more 

感谢, 贝恩德

+0

什么Logccat输出正是 – 2012-04-18 08:42:02

+0

我已经添加它上面现在 – Bernd 2012-04-18 09:03:55

+0

看到[示例](HTTP:!?/ /android-example-code.blogspot.in/p/map-api-in-android.html)将帮助你... – MAC 2012-04-18 08:40:57

回答

3

我知道了!你猜怎么了!这是重要的包名!

我发现在谷歌地图样本:

C:\ Android的SDK \插件\插件 - google_apis-google_inc_-10 \样本\ MapsDemo

然后我剥离下来,直到它几乎和我的一样。我正在使用bernd.konnerth作为包名称。但是出于某种非常疯狂的原因,显然三星手机(也可能是其他设备)不接受这一点,并且在启动时只是抛出NullPointerException,而没有任何可能指向软件包名称问题的暗示。

当我使用com.bernd.konnerth一切工作正常。显然必须有一个com。前面有。但要警惕!似乎有更多的名称组合不起作用。偶然我发现,例如com.android.wifi不起作用!即使认为这个包似乎并不存在于android命名空间中。

这样的事情真的可以让人疯狂! :-(

不过感谢您的快速答复

贝恩德

+2

如果只有我可以给你多一个+1 ... 非常感谢! – bhekman 2012-06-20 01:52:28

+0

很高兴听到我的发现帮助你! :-) – Bernd 2012-06-20 08:10:31

+0

谢谢!我可以绕过我的尾巴多年:) – 2012-06-29 07:11:42

相关问题