【发布时间】:2012-06-30 22:05:24
【问题描述】:
我对 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。
谢谢
【问题讨论】:
标签: android gcc makefile shared