You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MSBuild VS C++共享库项目从Windows x64转至Android ARM64?

仅用MSBuild构建Android .so文件的实现指导

核心配置步骤

VS的C++跨平台工具链支持通过MSBuild直接构建Android目标,无需依赖CMake,具体步骤如下:

  1. 确认VS工具链完整性

    • 确保已安装Mobile development with C++工作负载,该组件包含Android NDK与MSBuild的集成工具链。
    • 在VS的工具 > 选项 > 跨平台 > Android > NDK中指定已安装的NDK路径,确保系统能识别NDK工具。
  2. 配置项目目标为Android

    • 若使用现有C++项目,默认VS UI无直接切换到Android的选项,但可通过属性表(Property Sheet) 间接配置,避免手动编辑.vcxproj:
      • 右键项目 > 属性 > 配置属性 > 常规 > 点击添加属性表,新建一个.props文件。
      • 在属性表中配置以下关键参数:指定Platform为Android,AndroidNdkVersion为你的NDK版本(如25.2.9519653),AndroidPlatform为目标API级别(如android-29),AndroidArch为CPU架构(如arm64-v8a),并自动导入Microsoft.Cpp.Android.props和Microsoft.Cpp.Android.targets目标文件。
    • 配置完成后,属性表会自动将Android编译规则应用到项目,此时项目属性页会出现Android专属配置项。
  3. 编译与链接配置

    • 在项目属性中调整:
      • 常规 > 配置类型:选择动态库(.dll/.so),确保输出为.so文件。
      • C/C++ > 附加包含目录:添加NDK系统头文件路径(如$(AndroidNdkRoot)\sysroot\usr\include)以及项目自身的头文件目录。
      • 链接器 > 附加库目录:添加NDK对应架构的库路径(如$(AndroidNdkRoot)\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\lib\$(AndroidArch))。
      • 链接器 > 附加依赖项:按需添加Android系统库,如log、android等。
  4. 构建生成.so

    • 在VS工具栏选择对应Android架构(如arm64-v8a)和编译模式(Release/Debug),点击生成即可,MSBuild会自动调用NDK的clang工具链编译输出.so文件。

额外问题解答:无需手动编辑.vcxproj的转换方式

完全可以不用直接修改.vcxproj文件,推荐两种方式:

  • 属性表(Property Sheet):如上述步骤,将所有Android配置封装在独立的.props文件中,附加到项目后自动生效,项目本身的.vcxproj无需改动。
  • MSBuild命令行构建:通过命令行参数直接指定Android相关配置,无需修改项目文件,示例命令:
    msbuild YourProject.vcxproj /p:Platform=Android;AndroidNdkVersion=25.2.9519653;AndroidPlatform=android-29;AndroidArch=arm64-v8a
    

注:若你在VS中无法找到Android目标平台选项,大概率是未安装Mobile development with C++工作负载,补装后即可看到相关配置项。

内容的提问来源于stack exchange,提问作者deltav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:25:06