android - 如何构建在 Android 上运行的 native (命令行)可执行文件?

我已经成功构建了一个使用原生 (JNI) 库的 Android 应用 (GUI)。

但是,现在我想创建一个从命令行(root 权限)运行并且根本不使用 GUI 的可执行文件。我该如何构建这样的东西?

最佳答案

从 NDK r8d 开始,这可以通过更简单的方式解决。

  1. 创建具有以下目录层次结构的项目:

    project/
        jni/
            Android.mk
            Application.mk
            *.c, *.cpp, *.h, etc.
    
  2. 用以下内容填写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.
    
  3. 转至project/目录,然后输入

    ndk-build
    

    结果将放在project/libs/<arch>/name-of-your-executable .

https://stackoverflow.com/questions/9460251/

相关文章:

linux - Linux AMD64 中如何使用 fs/gs 寄存器?

c++ - 当父进程被杀死时,使用 fork() 创建的子进程是否会自动被杀死?

linux - 根据日期范围过滤日志文件条目

linux - 通过 ssh 在远程服务器上执行命令

python - 在 Python 上模拟鼠标点击

linux - 在Linux中使用空格设置环境变量

linux - 使用 find 和 -exec {},有没有办法计算总数?

linux - 如何为 Linux、OS X、Windows 制作 Travis CI 测试包?

c - 合并多个 .so 共享库

linux - Linux 的可视化补丁工具