如何在VSCode中使用C++生成APK文件?
在VSCode中用C++生成APK的实现方法
一、先搞定NDK环境配置
- 下载Android NDK(优先选LTS稳定版),解压到本地目录
- 打开VSCode,在
settings.json里添加NDK路径配置:"cmake.android.ndkPath": "你的NDK解压路径"
二、搭建C++项目结构(结合JNI)
- 新建CMake项目,在
src/main/cpp下编写C++代码,必须包含JNI接口(用来和Android Java层交互),示例代码:#include <jni.h> #include <string> extern "C" JNIEXPORT jstring JNICALL Java_com_example_myapp_MainActivity_stringFromJNI( JNIEnv* env, jobject /* this */) { std::string hello = "Hello from C++"; return env->NewStringUTF(hello.c_str()); } - 注意:JNI方法名格式必须是
Java_包名_类名_方法名,要和你Android项目里的Java类完全对应
三、配置CMakeLists.txt
这是编译C++到.so库的核心配置,示例:
cmake_minimum_required(VERSION 3.22.1) project("myapp") add_library( # 生成的库名称 my-native-lib # 动态库类型 SHARED # 你的C++源文件路径 src/main/cpp/native-lib.cpp ) find_library( # 系统log库 log-lib log ) target_link_libraries( # 链接目标库 my-native-lib # 链接log库 ${log-lib} )
四、配置Android项目的build.gradle
如果是完整的Android项目结构,在app模块的build.gradle里添加NDK相关配置:
android { defaultConfig { externalNativeBuild { cmake { cppFlags "" abiFilters 'armeabi-v7a', 'arm64-v8a' } } } externalNativeBuild { cmake { path file('src/main/cpp/CMakeLists.txt') version '3.22.1' } } }
五、在VSCode中编译生成APK
- 安装VSCode的CMake和Android插件
- 打开命令面板(Ctrl+Shift+P),选择
CMake: Select a Kit,选对应的Android NDK工具链 - 选择编译目标(比如arm64-v8a Debug),执行
CMake: Build生成.so库 - 最后执行Gradle命令打包APK:在终端运行
./gradlew assembleDebug(Windows用gradlew.bat assembleDebug)
常见注意事项
- JNI方法名一定要和Java类的包路径、类名严格对应,否则会出现找不到native方法的错误
- 确保NDK版本和CMake版本兼容,避免编译报错
- 如果不需要Java层,也可以用纯NDK项目,但实际生成APK还是需要基础的AndroidManifest.xml等配置
内容的提问来源于stack exchange,提问作者SuperStrengh
相关产品推荐
相关产品推荐

