我有一些android的经验,但几乎不知道GCC Makefile。这就是我需要的, 在mac osx或linux上工作,使用android ndk工具链,构建一个android共享库.so(一个jni lib),链接在一个预构建的静态库(已经为android构建)中。在静态lib中,我需要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,这样我就可以通过链接.a和其他必要的android和c lib来运行“make”来构建.so。
由于
答案 0 :(得分:0)
尝试运行ndk_build V = 1并以详细模式记录它发出的命令。然后向自定义链接器发出类似的命令。
请注意,对于其他ndk版本,命令可能会发生变化。