2010-12-03 23 views
3

NDKを使用して共有ライブラリを使用してAndroidアプリケーションを構築しました。エミュレータは現在、Linux x86プラットフォーム上で動作しています。しかし、ライブラリをs3c6410 ARMプロセッサに移動する必要があります。また、C++をよりよく処理するデバイスのプラットフォームに特有の既存のクロスコンパイラを使用したいと考えています。私がこれまでに読んだことは、あまりにも謎めいています。Android NDKで既存のARMクロスコンパイラを使用する方法

1)新しいプラットフォームに変更するにはどうすればよいですか?

2)どのようにして既存のクロスコンパイラを使用するように変更できますか?

3)Java用のNDKコンパイラ(2つのlibsの例ではsecond.c)と自分の静的ライブラリを混在して共有ライブラリを作成できますか?

+0

あなたは正確に何を達成しようとしていますか?特定のプロセッサで動作するAndroid用のバイナリを作成しますか?または、Androidからs3c6410上で実行されている別のOSに基づいて別の組み込みデバイスにコードを移植しますか? –

答えて

0

1)新しいプラットフォームに変更するにはどうすればよいですか?

あなたがする必要はありません。 Android NDKは、ほぼすべてのARMデバイス向けに設計されています。 ARM11は適切に処理されなければなりません。お使いのプロセッサがARMv6であるため、ARMv7専用にコンパイルしないようにしてください。 Hereには、ARMv6とARMv7を区別する命令セットがいくつかリストされています。しかし、私は本当にあなたにとって重要だとは思わない。

2)既存のクロスコンパイラを使用するように変更するにはどうすればよいですか?

現在のNDKコンパイラで最初に試してください。問題が発生した場合は、バックトレースを報告し、ここにログインしてください。 2-libsの 例でsecond.c)と共有ライブラリを生成するために、私自身の静的ライブラリ:

3)私はNDKのJavaコンパイラ(EXをミックスすることはできますか?

おっと...あなたの質問は厄介です。 「NDKコンパイラfor Java」の意味を理解できません。まず、Java Native InterfaceSWIG for Android、およびstackoverflow questionsについて、Android NDKで静的ライブラリと共有ライブラリをリンクすることをお勧めします。これらの話題は些細なものではなく、最初に簡単な例を読んで練習してください。

関連する問題