0

私はAndroidの経験がありましたが、GCC Makefileについてはほとんど知りません。これが私が必要とするものです.mac osxまたはlinuxで作業し、android ndkツールチェーンを使用し、android共有ライブラリ.so(jni lib)を構築し、事前構築された静的ライブラリ(すでにandroid用に構築されています)にリンクします. 静的ライブラリでは、logcat 関数と sprintf などの C 関数が必要です。そのため、プロセスに「ndk-build」はありません。これを行う必要がある理由は、静的ライブラリでリンクする場合、標準の arm-eabi-gcc を置き換えるために特別なリンカーが必要であり、標準のリンカーは後でロールバックされます。

次のような環境変数を設定する必要があることを知っています。

ANDROID_NDK, 
PATH=$PATH:"$ANDROID_NDK/build/prebuilt/darwin-x86/toolchain/arm-eabi-4.4.0/bin"
MACHINE=armv7l
SYSTEM=android
ARCH=arm
CROSS_COMPILE="arm-eabi-"
ANDROID_DEV="$ANDROID_NDK/platforms/android-8/arch-arm/usr" 
HOSTCC=gcc

必要なのはサンプル Makefile だけです。これにより、「make」を実行して、.a やその他の必要な Android および C ライブラリにリンクして .so をビルドできます。

ありがとう

4

1 に答える 1

0

ndk_build V=1 を実行して、発行されるコマンドを詳細モードで記録してみてください。次に、カスタム リンカーに同等のコマンドを発行します。

異なる ndk バージョンではコマンドが変更される可能性があることに注意してください。

于 2012-07-01T00:10:59.863 に答える