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

如何为Android Xamarin编译VS2019/GitHub C++项目生成.so文件

问题2:编译GitHub上的C++项目为Android Xamarin可用的*.so文件

大部分GitHub上的C++项目都用CMake管理,所以优先推荐用CMake+Android NDK的方式,适配性最好;也可以导入到VS2019里编译,两种方法都给你说清楚:

方法一:CMake + Android NDK编译(推荐)

  • 先把GitHub上的项目源码下载到本地,解压好
  • 确保你已经装了Android NDK和CMake(可以通过Android Studio的SDK Manager装,或者用VS里配套的NDK自带的CMake)
  • 在项目根目录下新建一个build-android文件夹,打开命令提示符(或终端)进入这个文件夹,运行CMake配置命令:
    cmake .. -DCMAKE_TOOLCHAIN_FILE=你的NDK路径/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-21 -DCMAKE_BUILD_TYPE=Release
    
    参数说明:
    • 把你的NDK路径换成实际路径,比如Windows上可能是C:\Program Files (x86)\Android\android-sdk\ndk\25.2.9519653
    • ANDROID_ABI选你需要的架构,可选arm64-v8a、armeabi-v7a、x86、x86_64
    • ANDROID_PLATFORM是最低支持的安卓版本,android-21对应安卓5.0,覆盖绝大多数设备
  • 配置完后,运行编译命令:
    cmake --build . --config Release
    
  • 编译完成后,.so文件会在build-android里对应架构的文件夹下,比如arm64-v8a/libxxx.so

方法二:导入到VS2019编译

  • 打开VS2019,选「文件」→「打开」→「CMake」,找到项目根目录下的CMakeLists.txt打开
  • 等VS加载完CMake项目后,在「CMake目标」窗口右键项目→「CMake设置」
  • 在设置界面点击「添加配置」,选「Android」,然后设置好ABI、安卓平台版本、构建类型(Debug/Release)
  • 保存配置后,点击「生成」→「生成所有项目」,编译完就能在输出目录找到.so文件

通用步骤:在Xamarin项目中使用.so文件

不管用哪种方法生成的.so,都可以这样集成到Xamarin.Android里:

  • 在Xamarin项目中创建lib\<ABI>文件夹(比如lib\arm64-v8a),把对应的.so文件复制进去
  • 选中.so文件,右键属性:把「生成操作」改成「AndroidNativeLibrary」,「复制到输出目录」改成「如果较新则复制」
  • 在C#代码里用DllImport调用.so里的函数,示例:
    [DllImport("你的库名", EntryPoint = "CalculateSum")]
    public static extern int CalculateSum(int a, int b);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 11:42:34