0

Google マップ用の Android 互換性ライブラリ ( https://github.com/petedoyle/android-support-v4-googlemaps ) を使用するアプリをリリースしましたが、奇妙な「アクティビティを開始できません」というクラッシュ レポートを受け取りました。

以下にいくつかのサンプル スタック トレースを貼り付けました。Google マップの Android 互換性ライブラリを使用して、または標準の Android 互換性ライブラリ ( http://developer.android.com/sdk/compatibility-library.html ) を使用して、これを経験した人はいますか? このエラーを克服する方法を知っている人はいますか?

----- スタックトレース例 1 -----

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.myapp/com.mycompany.myapp.activities.GameActivity}: java.lang.NullPointerException
...
caused by java.lang.NullPointerException
 at android.app.ContextImpl.openFileOutput(ContextImpl.java:430)
 at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
 at com.google.common.io.android.AndroidPersistentStore.writeBlockX(Unknown Source)
 at com.google.common.io.android.AndroidPersistentStore.writeBlock(Unknown Source)
 at com.google.common.io.PreferenceStore.ensurePreferencesLoaded(Unknown Source)
 at com.google.common.io.PreferenceStore.readPreference(Unknown Source)
 at com.google.common.io.BasePersistentStore.readPreference(Unknown Source)
 at com.google.common.StaticUtil.readPreferenceAsDataInput(Unknown Source)
 at com.google.googlenav.datarequest.DataRequestDispatcher.loadOrRequestCookie(Unknown Source)
 at com.google.googlenav.datarequest.DataRequestDispatcher.<init>(Unknown Source)
 at com.google.googlenav.datarequest.DataRequestDispatcher.createInstance(Unknown Source)
 at com.google.android.maps.MapActivity.createMap(MapActivity.java:509)
 at com.google.android.maps.MapActivity.onCreate(MapActivity.java:409)
 at android.support.v4.app.FragmentActivity.onCreate(Unknown Source)
 at com.mycompany.myapp.activities.GameActivity.onCreate(Unknown Source)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

----- スタックトレース例 2 -----

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.myapp/com.mycompany.myapp.activities.GameActivity}: java.lang.NullPointerException
...
Caused by: java.lang.NullPointerException
 at android.app.ContextImpl.openFileOutput(ContextImpl.java:423)
 at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
 at android_maps_conflict_avoidance.com.google.common.io.android.AndroidPersistentStore.writeBlockX(AndroidPersistentStore.java:140)
 at android_maps_conflict_avoidance.com.google.common.io.android.AndroidPersistentStore.writeBlock(AndroidPersistentStore.java:169)
 at android_maps_conflict_avoidance.com.google.common.io.PreferenceStore.ensurePreferencesLoaded(PreferenceStore.java:178)
 at android_maps_conflict_avoidance.com.google.common.io.PreferenceStore.readPreference(PreferenceStore.java:86)
 at android_maps_conflict_avoidance.com.google.common.io.BasePersistentStore.readPreference(BasePersistentStore.java:41)
 at android_maps_conflict_avoidance.com.google.common.StaticUtil.readPreferenceAsDataInput(StaticUtil.java:271)
 at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.loadOrRequestCookie(DataRequestDispatcher.java:493)
 at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.<init>(DataRequestDispatcher.java:390)
 at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.createInstance(DataRequestDispatcher.java:341)
 at com.google.android.maps.MapActivity.createMap(MapActivity.java:548)
 at com.google.android.maps.MapActivity.onCreate(MapActivity.java:422)
 at android.support.v4.app.FragmentActivity.onCreate(Unknown Source)
 at com.mycompany.myapp.activities.GameActivity.onCreate(Unknown Source)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
4

2 に答える 2

1

私は同じバグを抱えており、このエラーには android-support-v4-googlemaps の使用とのリンクがないようです。

この投稿を見てください:

一部のデバイスで MapView / MapActivity がクラッシュする

于 2013-03-07T16:20:45.413 に答える
0

互換性ライブラリを使用したときにこのエラーが発生しました。私が持っていたのは Android API 15 を対象としたプロジェクトでしたが、最小バージョンを Android API 8 にしたかったので、互換性ライブラリからいくつかのものが必要でした。ライブラリを添付しましたが、そこから使用するのを忘れていましimportsた! プロジェクトがビルドされたときはまったく問題ありませんでしたが、Android 2.3.3 を搭載した携帯電話で実行すると、いくつかのクラスが見つかりませんでした。Android 2.3.3 にはクラスがなかったためです。そのため、すべての を削除しimports、 を押して、 Android の組み込みクラスCtrl+Shift+Oを使用するか、互換性ライブラリのクラスを使用するかを選択できる場合は、常に 2 番目のものを選択することをお勧めします。normalそれが役に立ったかどうか教えてください!

于 2012-06-15T19:11:29.567 に答える