2

最新の libpcap からスタティック ライブラリを構築し、それを C ソース コードに「インクルード」して、ARM-v7-a アーキテクチャ (Nexus One) 用にクロスコンパイルする必要があります。

私は何日も試してきましたが、誰かが私にヒントを与えてくれることを願っています.

また、NDK も Java ラッパー関数も使用できません。次のようにする必要があります。

$ -o prog prog.c [-options] 以降、adb 経由で実行可能ファイルをプッシュできるようになります。

CodeSourcery と arm-linux-gnueabi を apt-get 経由でインストールしてみましたが (私は Kubuntu Linux を使用しています)、何も正しく機能しませんでした。

私が達成するために到達したのは、次のような単純なhelloworldファイルです。

arm-linux-gnueabi-gcc -static -o prog prog.c

私のスマートフォンの下で実行されます。

libpcap を含むより複雑なプログラムを入手できるという手がかりはありますか? libpcapディレクトリの.aまたは.soファイルを処理する必要があると思いますが、本当にわかりません...事前に感謝します

編集 -解決済み: auselen が言ったように、NDK スタンドアロン ツールチェーンを試してみましたが、成功しました。

誰かが私と同じ問題を抱えている場合に備えて、これは私がやったことです:

1) Android SDK と NDK をダウンロードします (後者は現時点では r8d バージョンです)。

2) NDK フォルダーに移動し、次のように入力します。

cd ビルド/ツール

make-standalone-toolchain.sh --platform=android-3 --install-dir=$HOME/new_toolchain --ndk-dir=YOUR_NDK_PATH

cd $HOME/new_toolchain

(私は helloworld.c ファイルをこのフォルダーに入れましたが、もちろん、効率を高めるために .bashrc ファイルに PATH を追加することもできます)

bin/arm-linux-androideabi-gcc helloworld.c -o helloworld

3)adbを介してデバイスにプッシュします。

すべてが機能しています:)ありがとう

4

1 に答える 1

2

Android は別のランタイム (bionic) を使用するため、必要なコンポーネントを備えた NDK を使用してアプリケーションを適切にリンクすることをお勧めします。

NDK を使用すると、スタンドアロン ツールチェーンgccとして実行できるため、その機能を介して直接開始できsysrootます。

重要なヒントは~、呼び出し時に指定されたパスでは使用しgccないことです。これはあまり友好的ではありません。

于 2013-02-13T08:16:29.427 に答える