0

開発中のアプリケーションの Android ソースをビルドする必要があるかどうか疑問に思っていました。カーネルで I2C ドライバーを使用してデバイスを制御するアプリケーションを開発する必要があります。SDK と NDK を使用して簡単にこれを行うことはできますか? 代わりに、Android ビルドの SDK と NDK を使用する必要がありますか?

SDK に tools ディレクトリがないことに気付きました。ndk/ndk-build を実行しようとすると、次のエラーが発生します。

/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: コマンドが見つかりません
/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt /linux-x86/bin/arm-linux-androideabi-g++: コマンドが見つかりません。

当然のことながら、2 つの特定の Android サイトがあります。source.android.comdeveloper.android.comと 私はこれらで提供されているガイドを理解しています。ダウンロードした SDK を使用するのではなく、ビルドをどうするか、またはソースをビルドする理由についてアドバイスするものはないようです。

4

2 に答える 2

0

既存のビルドでサポートされていないもののサポートを追加する必要がある場合、Android (カーネル、ユーザーランド、ランタイム システム、システム アプリ、およびツールチェーンをさまざまに意味します) を再ビルドし、ビルド済みファイルを再ビルドしないと簡単にはサポートされません。彼ら。

i2c のサポート/構成は、カーネルの機能と、アクセス許可、モジュールの読み込みなどのランタイム構成の一部の側面である可能性があります。Android ランタイム/ユーザーランドを再構築することなく、ルート化されたデバイスでこれを実現できる可能性があります。新しいカーネルまたは少なくともカーネルモジュールをコンパイルする必要があるかもしれませんが、いくつかのシステムファイルを変更するだけです。

Android 自体の統合部分としてタスク用の正式な API を作成しようとしない限り、i2c サポートを追加するために sdk または ndk を変更する必要があるとは考えにくいです。ほとんどの場合、Android インストールに追加する機能はすべて、リフレクションまたはアプリ提供のスタブ コンポーネントと定数を使用してアプリから参照できます。ビルド システムのサポート内容を変更する必要はありません。

于 2012-06-19T17:07:36.737 に答える
0

ドライバーのコンパイルに cygwin または linux os を使用していますか?

cygwin を使用している場合: c/c++ コンパイラをインストールする必要があります: cygwin setup.exe を開き、devel ブランチの下のすべてのコンポーネントを確認し、[次へ] をクリックします .... ただし、devel ツールの合計は約 4 GB を占めます。それらが必要ない場合は、必要なものをウェブで検索してください。(約 10 個のコンポーネントのみが必要です)

于 2013-02-01T06:15:14.987 に答える