Android NDK 编译成可执行文件个人记录

本文介绍如何从零开始构建一个Android平台上的本地应用,包括创建含有main函数的C文件、配置Android.mk以支持BUILD_EXECUTABLE指令,以及通过ADT或命令行调用ndk-build进行构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 需要有main函数的c文件


2. 配置好Android.mk文件,包括说明为include $(BUILD_EXECUTABLE)


3. 使用ADT的run android application或者是进入到jni文件夹下,通过cmd执行ndk-build命令(windows:前提是已经将ndk路径加入到系统环境变量)

### 使用 Android NDK 编译生成可执行文件 为了使用 Android NDK 编译生成可执行文件,需遵循特定配置流程。首先创建一个简单的 C 或 C++ 文件作为入口程序。 #### 创建源代码文件 假设有一个名为 `test.cpp` 的简单测试程序: ```cpp #include <stdio.h> int main(int argc, char **argv) { printf("This is my test\n"); return 0; } ``` 此段代码定义了一个基本的控制台应用程序[^3]。 #### 设置构建脚本 接着,在同一目录下编写 `Android.mk` 构建脚本来指定编译选项和目标模块名: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := test LOCAL_SRC_FILES := test.cpp include $(BUILD_EXECUTABLE) ``` 上述 Makefile 片段指定了要编译成独立二进制形式而非共享库的目标模块名称及其对应的源文件列表。 #### 执行编译命令 完成以上准备工作之后,通过终端进入项目根目录并调用 ndk-build 工具来启动实际编译过程: ```bash $ cd /path/to/project/ $ $ANDROID_NDK_HOME/ndk-build ``` 这会触发 NDK 自动读取本地存在的 `Android.mk` 并按照指示处理相关联的源文件集合[^1]。 #### 将生成可执行文件部署至设备 一旦编译结束,会在项目的 obj/local/<abi>/ 和 libs/<abi>/ 路径下面找到新产生的 ELF 可执行映像文件。为了让它能在真实环境中运作起来,则需要借助 ADB 命令将其上传到已连接好的 Android 设备当中去: ```bash adb root adb remount adb push ./libs/arm64-v8a/test /system/bin/ adb shell chmod 755 /system/bin/test adb shell /system/bin/test ``` 这些指令序列确保了最终产物被放置在一个允许执行的位置,并赋予适当权限以便顺利加载与运行[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值