1

GoogleのMapViewチュートリアルを実行しましたが、エミュレーターやHTCFlyerなどで正常に動作します。しかし、何らかの理由で、私の携帯電話(Samsung Galaxy I9000)で起動するとすぐにクラッシュします。

クラッシュはそこで発生します。これは、最初にonCreate()が受け取るバンドルがnullであるためです。私はAndroid2.3.3に対してコンパイルしています。これは電話にもインストールされています。チラシはAndroid3.0を使用しています

この奇妙な問題について助けていただければ幸いです。

これは正確な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

ありがとう、ベルント

4

1 に答える 1

3

わかった!何だと思う!重要なのはパッケージ名です!!!

私はGoogleマップのサンプルを次の場所で見つけました:

C:\ android-sdk \ add-ons \ addon-google_apis-google_inc_-10 \ samples \ MapsDemo

それから私はそれが私のものとほとんど同じになるまでそれを取り除いた。パッケージ名としてbernd.konnerthを使用していました。しかし、いくつかの本当にクレイジーな理由で、明らかにサムスンの電話(そしておそらく他のデバイスも)はそれを受け入れず、パッケージ名の問題を指摘する可能性のあるヒントなしに、起動時にNullPointerExceptionをスローします。

com.bernd.konnerthを使用すると、すべてが正常に機能します。明らかにcomが必要です。前に。ただし、注意してください。動作しない名前の組み合わせがさらにあるようです。たまたま、たとえばcom.android.wifiも機能しないことがわかりました。このパッケージはAndroidの名前空間に存在しないようですが。

そのようなことは本当に人々を夢中にさせることができます!:-(

それにもかかわらず、あなたの速い返事のすべてに感謝します!

ベルント

于 2012-04-18T17:08:34.360 に答える