我有一些 android 的经验,但对 GCC Makefile 几乎一无所知。这是我需要的,在mac osx或linux上工作,使用android ndk工具链,构建一个android共享库.so(一个jni lib),链接到一个预建的静态库(已经为android构建)。在静态库中,我需要 logcat 函数和 C 函数,例如 sprintf。所以在这个过程中没有“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。
谢谢