Android NDK 实战入门指南

作者/分享人:代码GG陆晓明
向 Ta 提问
十年手机行业开发经验。 业余时间兼职创业,项目业务洽谈。 维护公众号:明哥的江湖。

本文适合 Android 应用开发人员,准备移植 C/C++ 开源库,以及对 NDK、JNI 感兴趣的人员。

学完此课程,你能够明白 NDK 都能做哪些事情,JNI 的底层实现原理,以及 C/C++ 和 Java 的相互通信,同时剖析编译机制以及相关进阶参考文档。

C/C++ 经久不衰,属于编程中底层核心语言。掌握此技术,对于 Android ,会有更加透彻的理解。

文章通过十九个小节,以原理+实例+思考的模式,由浅入深的一个个实例源码,带领大家掌握本课程内容。

目录清单:

  1. 什么是 NDK
  2. 为什么要用 NDK
  3. NDK 编译出来的目标类型
  4. NDK 下载
  5. 写个 hello JNI 可执行文件
  6. 文件解析
  7. 写个 hello JNI 调用 so
  8. Android Studio 写个 hello JNI
  9. 目录解析
  10. 流程分析
  11. JNI执行调用流程
  12. 添加一个新的方法
  13. CMake 和 ndk-build 的关系
  14. 使用 ndk-build 方案
  15. 调试 C 代码
  16. C 调用 Java
  17. 参考文档
  18. 异常分析思路
  19. 延伸内容
已有206人预订
预订达标
文章出炉
     
04月27日
05月10日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张代码GG陆晓明的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
一个自学的程序员
太赞了,满满的干货,谢谢明哥分享!
代码GG陆晓明: 多谢多谢
CPUdream
学完前7章打个卡: 1.学会了Android.mk配置的基本思路, 2.window下so动态库生成, 3.c++怎么引用动态库,以及通过ndk生成Android中可执行文件 , 看完这个教程准备通过ndk编译一下ffmpeg和breakpad这两个库,一起加油
Hyun
诚意满满的干货,明哥顶你
代码GG陆晓明: 多谢支持
代码GG陆晓明
16.2 native-lib.c 实现方法: env 代表当前环境上下文,这个当我们多个进程调用的时候,需要 AttachCurrentThread 进行设定。 这里多个进程,应该改为 多个线程。纠错下。
代码GG陆晓明: 嗯嗯
self-discipline
想学下java调用C库的,可惜太菜,看不懂。慢慢看中。。。
代码GG陆晓明: 加微信:code_gg_boy 。进入微信交流群,一起学习。
秦楚
干货满满,谢谢明哥
代码GG陆晓明: 客气了
Woong
很好的课程,实战中很多点讲到了,遇到问题再回来看能发现很多有用的内容
代码GG陆晓明: 这个是一套逻辑与实战,算是一个策略式的。就是让你从本质理解,剩下的就是训练,掌握它
Tinycoder
收获很大
代码GG陆晓明: 比心比心
猿天地
很实用,学到了不少东西
代码GG陆晓明: 一起学习
安晓辉
不错的NDK普及篇
代码GG陆晓明: 多谢支持
CCTV_1
前面1-7 完全看不懂,,,有点迷,都不知道在讲什么~
你可能还喜欢
JVM 问题诊断快速入门
火币集团研发中心
面试字节跳动的一点小经验
Wayne
互联网公司热门面试题:如何保证缓存与数据库的双写一致性?
魏武归心2016
面试官问:为什么在项目中使用消息队列!到底是想考什么?
零下
如何做好性能压测(二) | 性能压测工具选型对比
阿里巴巴中间件
小程序 · 云开发实战:从 0 到 1 快速开发电商小程序
微信极客WeGeek
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效