2015-12-22 141 views
1

我正在尝试交叉编译arm板的独立应用程序,最重要的是我想在没有Android.mk框架的情况下编译它。交叉编译独立应用程序?

我有以下疑问: -

1 - 我应该使用哪种工具,如(ARM-EABI或臂Linux的androideabi 等)。

2-从哪里下载库和工具链相关的 零件。

3-什么是编译标志,我应该包括独立编译 (完全静态)。

请评论如果问题不是很清楚请加我相关的信息,详细信息将不胜感激。

+0

我建议阅读关于使用Android本机开发工具包的构建工具的文档,网址为:https://developer.android.com/tools/sdk/ndk/index.html(https://developer。 android.com/tools/sdk/ndk/index.html)。 – benardier

回答

2

Standalone Toolchain NDK的一部分正是如此。

首先,编译器需要知道sysroot的位置,以便它可以找到标准库。

SYSROOT=$NDK/platforms/android-21/arch-arm 

,然后要么你可以做

export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \ 
linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" $CC -o foo.o -c foo.c 

和静态编译只是添加-static来调用。

高级方法是关于安装一个特定的工具链到一个目录,然后你可以直接调用而不指定sysroot。