2015-10-20 7 views
25

私はかなり大きく、アプリケーションのバイナリサイズを膨大にするネイティブライブラリをいくつか持っています。私はAPK splittingを調べましたが、複数のAPKを維持してQAingすることは、私がやりたいことではありません。Androidアーキテクチャの用途ですか?

だから私はndk.abiFilters Gradleのプロパティを使用して、私のリリースビルドの味で、未使用のアーキテクチャを除外したいと思います。 (x86上でHAXMアクセラレーションされたエミュレータを実行できるように、私が残したいデバッグビルド)。

私はリリースの味でarmeabi-v7aとarm64-v8aを持っていると思っていましたが、私が落としている他のアーキテクチャの市場シェアを心配する価値はないのかどうかは分かりません。私はARMv6(armeabi)、MIPS、x86またはx86_64の市場シェアを参照することはできません。私の直感は、後者の3つはほとんど存在しないと言いますが、ARMv6についてはわかりません。

私は様々なアーキテクチャを使用する電話機のリストを持っていることthis link on a forumを発見しました。どこかでより信頼できるものがありますか? Android版ダッシュボードに類似したユーザーの割合は?

armeabi-v7aとarm64-v8a(またはarmeabi、armeabi-v7a、arm64-v8a)用のネイティブライブラリを作成していれば、それ以外のものはありますか?

答えて

23

まず第一に、あなたがバイナリサイズについてworringしている場合、あなたは本当にarm64-v8aを必要としない、これらすべてのデバイスがうまくarmeabi-v7aバイナリを実行することができます。あなたが本当にそれから最後の余分な演奏を詰める必要がある場合のみ、それは価値があるかもしれません。

armeabiおよびARMv6については、 Android 4.4以降(2013年10月)以降、Android自体は正式にはサポートされていません.Android 4.0以降は、あまり一般的ではありません(AOSPソースでは、ARMv6用に変更する必要があります)。したがって、実際には、4.4より下のバージョンをサポートしていない場合は、それを大幅に損なうことなく削除することができます。

また、x86では、これらのデバイスの多くは、アームバイナリの驚くほどまともなエミュレーションを搭載して出荷されるため、armeabi-v7aバージョンでもうまく管理できます。

+2

あなたは<4.4をサポートしていないか、またはv8aから余分なperfを必要としない限り、armeabi-v7aが本当に必要なものだと言っていますか? –

+2

かなり。いくつかのx86デバイスはアームバイナリをサポートしていないかもしれませんが、私はそれらのほとんどが行うと思います。 mipsデバイスもありますが、私にはアームエミュレーションは含まれていないと思います。彼らは非常にまれである(おそらく、私はそれをバックアップするための統計情報を見つけられなかったが、おそらくx86デバイスよりも稀である)。 – mstorsjo

+0

@mstorsjo armeabi-v7aライブラリファイルをすべてのアーキテクチャで使用する方法を教えてください。私の現在のアプローチでは、ライブラリをjniLibs/armeabi、jniLibs/armeabi-v7a、jniLibs/x86にコピーしなければなりません。 –

22

残念ながら、そのままとして有用Android Dashboardは、アーキテクチャ情報を提供していない、またGoogle Analyticsはありません。 statistics per architecture and CPU featuresを提供するために使用さ

Unity statistics。ただし、これらは一般的な統計ではなく、Unityアプリケーション/ゲームのユーザのみを対象としています。

情報はもはや公共のリンクで利用可能ではないようですので、私はarchive.orgの最新のスナップショットとの直接のリンクを交換しました。

+0

Unityがこれらのリンクからコンテンツを削除したようです。 – Tony

+0

通知ありがとうございます。私はarchive.orgの最新のスナップショットでリンクを更新します –

関連する問題