1

Android kitkat で奇妙な問題に直面しています。マップ フラグメントを使用できません (マップ フラグメントもサポートします)。次のコードを使用しました。

<fragment
    android:id="@+id/fragment1"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_above="@+id/imageView1"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/linearLayout1" />

私のアプリケーションは API レベル 18 (Jellybean) で動作しますが、kitkat でコンパイルすると次のエラーが発生します: クラス フラグメントの拡張中にエラーが発生しました!

Logcat の出力:

11-14 07:12:12.039: E/AndroidRuntime(1068):     at dalvik.system.NativeStart.main(Native Method)

11-14 07:12:12.039: E/AndroidRuntime(1068): Caused by: android.view.InflateException: Binary XML file line #96: Error inflating class fragment

11-14 07:12:12.039: E/AndroidRuntime(1068):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)

11-14 07:12:12.039: E/AndroidRuntime(1068):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)

11-14 07:12:12.039: E/AndroidRuntime(1068):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)

11-14 07:12:12.039: E/AndroidRuntime(1068):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)

11-14 07:12:12.039: E/AndroidRuntime(1068):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
4

2 に答える 2

2

nexus 5 デバイスには互換性のないサポート ライブラリとプレイ サービス ライブラリがあります。プロジェクトでそれらを使用している場合 ( libssupport-v4 の場合、または他のプロジェクト ライブラリの場合) 、必要なバイトコードが既に含まれているはずなので、関連する<uses-library ... />タグを削除できます。AndroidManifest.xmlあなたのアプリで。
これを行うと問題が解決しました。実際にプログラムでフラグメントを使用していて、「原因」を取得していました。

java.lang.IllegalAccessError: 検証済みクラスのクラス参照が予期しない実装に解決されました

于 2013-11-15T15:12:02.973 に答える
0

次の行をアプリケーション タグの直接要素としてマニフェスト ファイルに追加することで問題を解決しました。これは、新しい Google Play サービスが開始された後に適用された可能性があります。

<meta-data android:name="com.google.android.gms.version"
   android:value="@integer/google_play_services_version" />

また、仲間の開発者への注意として、FragmentActivity でアクティビティを拡張してください。

于 2013-11-18T04:43:08.547 に答える