如何通过Ndk-build静态构建可执行文件?

1 static android gcc android-ndk ndk-build

我正在尝试构建一个可在Windows中静态链接android系统库的可执行文件,我使用以下命令:

%NDK_PATH%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe jni\main.c -o main --sysroot=%NDK_PATH%\platforms\android-9\arch-arm -static 
Run Code Online (Sandbox Code Playgroud)

有时可能需要添加选项:

 -static-libgcc -static-libstdc++ -std=gnu99
Run Code Online (Sandbox Code Playgroud)

构建后输出文件是我想要的.
但是,如果我想构建可执行文件,请使用jni\Android.mkjni\Application.mk通过ndk-build,该选项:

-static -static-libgcc -static-libstdc++ -std=gnu99
Run Code Online (Sandbox Code Playgroud)

我应该追加,我应该选择哪个.mk文件?
我尝试添加:

LOCAL_CFLAGS := -static
Run Code Online (Sandbox Code Playgroud)

进入jni\Andorid.mk,但输出没有改变.

如何解决.mk问题?

Ale*_*ohn 5

您可以在Android.mk中使用

LOCAL_LDFLAGS := -static
Run Code Online (Sandbox Code Playgroud)

结果简单的gcc one-liner不同,但arm-linux-androideabi-nm报告没有动态符号.