最終更新
2013 年 12 月 20 日の時点で、Android ダッシュボードは、デバイスの約 100% が OpenGL 2.0+ をサポートしていることを示しているため、この回答はもはや関係ありません。マニフェストで OpenGL ES 2.0+ を要求するだけです。
アップデート
これは、Google Play Services SDK アドオンのリビジョン 7 で修正されました。安全に使用でき、実行時に OpenGL ES 2.0<uses-feature android:glEsVersion="0x00020000" android:required="false"/>
を検出できます。
元の答え
Google マップ Android API v2 では明示的な<uses-feature android:glEsVersion="0x00020000" android:required="true/>
宣言が必要なようです。AndroidManifest.xml
そのため、すべての OpenGL ES 1.x デバイスを除外せずに Google マップ Android API v2 サービスをデプロイする方法はありません。これを書いている時点で、Google の Android ダッシュボードは、1.1 と 2.0 のデバイスのうち、デバイスの 90.8% が 2.0 をサポートしていることを示しています。
特定のデバイス (Motorola XOOM) では、このコードは次の結果になりsupportsEs2 = true
ます。
// Check if the system supports OpenGL ES 2.0.
final ActivityManager activityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
final boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000;
ただし、マニフェストに宣言がない場合<uses-feature>
、MapFragment は RuntimeException をスローしています。
Caused by: java.lang.RuntimeException: Google Maps Android API only supports OpenGL ES 2.0 andabove. Please add <uses-feature android:glEsVersion="0x00020000" android:required="true" /> into AndroidManifest.xml
at maps.y.ae.a(Unknown Source)
at maps.y.bu.a(Unknown Source)
at maps.y.p.onCreateView(Unknown Source)
at com.google.android.gms.maps.internal.IMapFragmentDelegate$Stub.onTransact(IMapFragmentDelegate.java:107)
at android.os.Binder.transact(Binder.java:297)
at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
at com.google.android.gms.maps.SupportMapFragment$a.onCreateView(Unknown Source)
at com.google.android.gms.internal.c$4.a(Unknown Source)
at com.google.android.gms.internal.c.a(Unknown Source)
at com.google.android.gms.internal.c.onCreateView(Unknown Source)
at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:884)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1066)
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1168)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:280)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
... 22 more
マップ ライブラリの更新によってこの制限が取り除かれ、単一の APK をデプロイし、ランタイム API を使用して、新しい Google マップ v2 エクスペリエンスをロードするか、別の互換性のあるソリューションにフォールバックするかを決定できるようになることを願っています。