我已经成功构建了一个使用原生 (JNI) 库的 Android 应用 (GUI)。
但是,现在我想创建一个从命令行(root 权限)运行并且根本不使用 GUI 的可执行文件。我该如何构建这样的东西?
最佳答案
从 NDK r8d 开始,这可以通过更简单的方式解决。
创建具有以下目录层次结构的项目:
project/
jni/
Android.mk
Application.mk
*.c, *.cpp, *.h, etc.
用以下内容填写Android.mk。最重要的是最后一行。查看 NDK 文档了解其他变量的含义。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := name-of-your-executable
LOCAL_SRC_FILES := a.cpp b.cpp c.cpp etc.cpp
LOCAL_CPPFLAGS := -std=gnu++0x -Wall -fPIE # whatever g++ flags you like
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -fPIE -pie # whatever ld flags you like
include $(BUILD_EXECUTABLE) # <-- Use this to build an executable.
转至project/
目录,然后输入
ndk-build
结果将放在project/libs/<arch>/name-of-your-executable
.
https://stackoverflow.com/questions/9460251/