2012-01-21 4 views
9

WindowsまたはLinuxのいずれかのアセンブリ言語を使用してAndroidアプリを開発するにはどうすればよいですか?アセンブリ言語を使用したAndroidアプリケーションの開発

+3

アセンブリを使用する意欲は何ですか? –

+2

[This](http://stackoverflow.com/questions/5390509/linking-android-c-code-and-arm-assembler)と[this](http://stackoverflow.com/questions/6506781/)の重複アンドロイドプロジェクトのアームアセンブリコード)。 – kabuko

答えて

2

私は聞いたことがない、またはビューのアンドロイドはアセンブリ言語での開発(あなたがC、そしてC++その可能性について話している場合)。..

をしかし、あなたには、いくつかのC, C++言語であなたのAndroidアプリケーションを作成したい場合は、 ますそれにはAndroid NDKを使用できます。しかし、その場合にもアプリケーションのためにAndroidのJava側でUIインターフェースを作成する必要があります。あなたはObjective Cに優れている場合

また、あなたもQTを使用して、アンドロイドが、そのいくつかの初期サポートフェーズでとそれを統合することができます。..

UPDATE:また、あなたは、あなたは、任意のアセンブリ言語ファイルを持っていますネイティブAndroid.mkJava Native Interface)ファイルと統合して、アンドロイドアプリケーションで使用できます。しかし、これにはUI部分は含まれていません。

+0

c/C++でUIのものを書くことは常に可能でした.. OpenGLは優れたAPIです。スクリーンに直接書き込むこともできます。アセンブリのほとんどの道路ブロックは、あなたが回ることができるものです。 – baash05

4

私は個人的には知りませんが、ネット上の例が見つかりました(Android ARM inline assemblyMotivation for hand-optimized Assembly code)ので、できると思います。それを見ると、彼らはAndroid's NDKを使用してCまたはC++でコーディングしていることは明らかです。アセンブリコードを挿入するので、そこを見始めることをお勧めします。

アセンブリ言語でコードを記述することで効率を大幅に向上させることができますが、効率性と保守性の中間点を見つけようとする必要があります。そのためにオブジェクト指向言語(Javaなど)があります。個人的なヒントとして、ビデオや画像のレンダリングなど、最大限のパフォーマンスを必要とする本当に特定のタスクを除いて、すべてJavaに使用します。

また、すべてのARMプロセッサには存在しない特定のメソッドを使用するようなアセンブリの問題もあります。

+0

そのAndroid ARMインラインアセンブリでは、シンタックスは純粋なインラインアセンブラより複雑です。 C++環境からアセンブラを提供するnetbeansアセンブラ(投稿時にV6.0)を使用することをお勧めしますか?登録簿などで – Bob

関連する問題