2013-07-21 12 views
6

AndroidのAPKファイルをARM CPUまたはARM以外のCPUで実行できるかどうかを確認します。Android OSはARM CPU専用ですか?

私の貧しい人々のために申し訳ありません。

+0

http://www.android-x86.org/ –

答えて

7

Androidは他のCPUでも動作します。 Intel Atomなどです。

あなたのアプリはJavaだけを使用している場合、それは問題ではありません。どのCPUでも実行でき、気にしません。 Javaで作業する場合は、CPU単位でプログラムする必要はありません。

アプリケーションがネイティブコード(NDK)を使用する場合は、すべてのCPUのサポートしたい上で実行するために、あなたのAPKを準備する必要があります。方法については、theseなどの手順で説明しています。

あなたはNDKたりする必要はありませんかどうかわからない場合、あなたはおそらくありません。 NDKは、高性能ゲームのような非常に特殊な場合に必要です。あなたが通常のアプリケーションを作っているだけの場合は、おそらくJavaだけを使用します。 APK問題について

- あなたが複数のアーキテクチャをサポートする必要がある場合は、単一のAPKまたは複数のAPKの両方を使用してこれを行うことができます。詳細はthisをお読みください。

+0

JavaはAndroidでは使用されていません。 Androidアプリはさまざまな言語からコンパイルできます。 – mbanzon

+1

あなたは間違っています。 AndroidはDalvik JVMに大きく依存しています。 Dalvikは主にJavaの周りに設計されていますが、他の言語も同様に使用できます。 Dalvikは伝統的なJVMではなく、JARファイルの代わりにDEXファイルを使用しますが、まだJITコンパイルのバイトコードです。 – talkol

+0

JITとのバイトコードですが、JVMではありません。 Javaではありません。これはアーキテクチャ(スタックとレジスタ)が完全に異なっています - http://en.wikipedia.org/wiki/Dalvik_(software) – mbanzon

0

アンドロイド - オープンソースプロジェクトは - 野生のほぼすべてのCPU上で使用されています。

APKファイルにはさまざまなタイプの配列を含めることができます。これらのほとんどは、APKを任意のCPU上で実行できますが、共有ライブラリなどの特定のタイプが含まれていて、プラットフォーム間の互換性が損なわれる可能性があります。

はAPKファイルの内容の概要についてはthe article on wikipediaを参照してください。

1

Androidは、Intel Pentium MのようなシングルコアのIntel Atomや他のCPUのようなものです.X86 CPUは、以下のようなスムーズなものを実行するために少なくとも480MHZのCPUを必要とします。 。 とjavaでプログラミングしている場合はtalkolとして言及しています(おそらく)アーキテクチャは関係ありません。

1

APKを実行するには、Android OSにインストールする必要があります。そして、Android OSは関連するアーキテクチャをサポートする必要があります。

これが例外かどうかわかりませんが、ソフトウェアがのトリッキーをAndroidエミュレータのように機能させるかどうかはわかりません。しかし、BlueStacksは、AndroidアプリをWindows、Mac、Chrome OSプラットフォーム(ARMとx86のみ)にインストールして実行できるようにします。それとも、Android OSがARMプラットフォーム以外の3つのプラットフォームでも動作する/サポートされているという事実だけかもしれません。すなわち:

  1. MIPS
  2. x86わからない、これは、関連リンクの場合
  3. i.MX

AVDに、あなたが間を選択するオプションを持っていることがわかります、ほか既存の仮想デバイスを新規作成または編集するときにARM、Intel x86およびMIPSアーキテクチャ(をSDKマネージャからインストールした場合)

結論:アーキテクチャがAndroid OSを実行できる場合、あなたのアプリもそれを実行することができます。

+1

i.MXは、TI OMAP、nVidia Tegra、およびQualcomm Snapdragonとほぼ同じ方法でARM SoCファミリです。 – marko

関連する問題