1. 为什么要在Android Studio中编译可执行二进制?
作为一名长期从事Android NDK开发的工程师,我经常遇到需要在设备上直接运行C/C++程序的需求。传统做法是搭建完整的NDK编译环境,配置复杂的Makefile或Android.mk文件,这个过程既耗时又容易出错。
Android Studio作为官方IDE,其实已经完美集成了NDK工具链。我发现利用它现有的CMake构建系统,可以零配置编译出可直接在Android设备上运行的二进制程序。相比独立配置NDK环境,这种方式具有以下优势:
- 环境零配置:无需手动下载NDK或设置环境变量
- 构建系统现成:直接复用Android Studio的CMake支持
- 架构自动适配:轻松生成arm64-v8a/armeabi-v7a等多架构版本
- 调试集成:可与Android Studio的调试器无缝配合
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 完整实操步骤解析
2.1 创建C++工程
在Android Studio中新建项目时,选择"Native C++"模板。这个模板会自动配置好CMake构建环境,比从空白项目开始更高效。
关键配置点:
- Minimum SDK建议选API 21以上(Android 5.0+)
- C++标准选择"Toolchain Default"即可
- 不要勾选"Exceptions Support"除非确实需要
注意:如果已有项目,只需在app模块的build.gradle中添加:
gradle复制android { externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" } } }
2.2 编写可执行程序代码
在app/src/main/cpp/目录下新建native-hello.cpp文件,编写标准C程序:
cpp复制#include <stdio.h>
#include <unistd.h>
int main(int argc, char** argv)
{
printf("Android PID:
