2013-10-18 7 views
13

私はAndroidのゲームのApplication.mkファイルにどのアーキテクチャを入れるべきなのか疑問に思っています。Android NDK:APP_ABI用にApplication.mkで設定する必要があるのは何ですか?

Google Playやその他の種類のAndroidストアでゲームをダウンロードできるすべてのプラットフォームをサポートしたいと考えています。

私は設定すべきであると言うでしょう:

APP_ABI := armeabi x86 (as many x86 devices are coming soon as far as I know) 

をしかし、私は設定してはならないのだろうか:

APP_ABI := armeabi armeabi-v7a x86 

または

APP_ABI := all 

を明確にしてください。

答えて

13

を使用すると、mipsを指定することもできます。

armeabiコードはarmeabi-v7aのデバイスで実行できますが、それ以外の方法では実行できません。したがってarmeabiがある場合にはarmeabi-v7aが必要ですが、一部のデバイスでハードウェア浮動小数点演算を利用できます。

さらに多くのアーキテクチャを含めるほど、結果として得られるAPKは大きくなります。また、すべてのプラットフォームで定期的にコンパイルしている場合は、ビルドに時間がかかります。

さまざまなアーキテクチャの詳細については、NDKインストールのdocs/CPU-ARCH-ABIS.htmlを参照してください。

6

armeabi-v7aとx86を設定することをお勧めします。

armeabi-v7aは、おそらくすべての最新のアームデバイスをカバーし、ハードウェア浮動小数点サポートを提供します。

x86は、x86デバイスの現在のすべての作物をカバーしています(そのうちの最大のものはSamsung Galaxy Tab 3です)。さらに、インテルは、今年以降、タブレット市場のシェア拡大を目指して、大きく公表しており、今後も普及する見込みです。

これにはいくつかの影響があります。 krsteveが正しいとすれば、あなたのビルドはわずかに遅くなります(今度はゲームを2回構築すると効果的です)。しかし、APKを大きくすることになります。これらのバイナリはあなたの資産によってサイズが小さくなりすぎる可能性があります。そうでない場合、あなたのゲームはGoogle PlayのAPKサイズの制限を超えるほど大きくはありません。

  1. 使用armeabi-v7aとx86、またはすべての
  2. 追加のAPKのサイズが無関係またはあなたの資産規模によって極端に小さく
  3. あなたのビルド時間 意志を のいずれかになります使用した:要約する

    増加しますが、ヒットできるデバイスの数が増えるため、公正取引と見なされる

関連する問題