JNI实战-Android深度学习模型部署

本文详细介绍了在Android开发中使用JNI(Java Native Interface)和CMake进行跨语言编程的方法。从传统的javac和jni编译流程,到现代的CMake工具集成,逐步解析如何将C/C++代码编译为.so库,并通过Gradle打包进APK。实战案例展示了如何在Java代码中调用C/C++函数。

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

  1. 传统方式
    1. java->javac -> .class->javah -jni->.h
    2. C/C++实现.h中声明的方法
    3. 添加并编写.mk文件
    4. 实例:https://github.com/nihui/ncnn-android-squeezenet
  2. 通过CMake工具
    1. Gradle调用外部构建脚本CMakeLists.txt
    2. CMake按照构建脚本的命令将C++源文件native-lib.cpp编译到共享的对象库中,并命名为libnative-lib.so,Gradle随后会将其打包到APK中
    3. 运行时,应用的MainActivity会使用System.loadLibrary()加载原生库。应用就可以使用库的原生函数stringFromJNI()
    4. 实例:NCNN1
  3. 实战JNI之“hello world” https://www.jianshu.com/p/b4431ac22ec2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值