同NDK技术的渊源始于3年前,使用
so文件的时候了解到NDK技术,并且C语言一直是强项,就鼓捣起NDK开发。在
AndroidStduio还没推广的年代,基于
eclipse搭建NDK开发环境需要安全依赖开发工具,并且调试起来具备难度。随后
AndroidStudio也先后支持
nkd-build和
cmake使用NDK开发。
什么是NDK
Android NDK 是一组允许您将 C 或 C++(“原生代码”)嵌入到 Android 应用中的工具。
在 Android 应用中使用原生代码的应用场景
在日常App开发中,难免有些功能是需要借助NDK来完成的,比如现在常见的音视频处理等,今天就以ffmpeg入手,来学习下Android NDK开发的套路。
今天, 高能的地方来了!大厂内部出品的“AndroidNDK 模块开发宝典”分享给大家,从原理到实战,一应俱全!这份宝典主要涉及以下几个方面:
主要内容:
主要内容:
静态注册、动态注册、JNINativeMethod、数据类型映射、jni 函数默认参数
Android NDK 开发 JNI 类型签名和方法签名、JNI 实现 java 与 c/c++相互通讯
主要内容:
十大最受欢迎的 React Native 应用开发编辑器、react-native 打包流程
静态库与动态库
CPU 架构与注意事项
ABI 管理、处理 CPU 功能、NEON 支持
环境搭建、NDK 项目、Cmake、Makefile
FFmpeg 编译、FFmpeg+LIBX264+FACC 交叉编译 实现 264 流录制、移植 FFmpeg 在 arm 交叉编译时遇到的问题、FFmpeg 交叉编译、X264 FAAC 交叉编译、解决所有移植问题
配置 NDK 环境、建立 app 项目、生成.h 头文件、创建 C 文件,实现 native 方法、jni.h 文件
Linux 环境的搭建、Linux 系统管理操作(25 个命令)
Shell 脚本、编写简单 Shell 脚本、流程控制语句、计划任务服务程序
四种图片格式、推荐几种图片处理网站、squoosh 在线无损图片压缩工具,JPG/webP/PNG/ 互转
计算原始宽高、计算近似宽高、第一次采样获取目标图片、循环逼近目标大小
GIF 图片的解析、GIF 图片的合成(序列图像合成 GIF 图像)
Camera 与手机屏幕采集、图像原始数据格式 YUV420(NV21 与 YV12 等)、音频采集与播放系统、编解码器 MediaCodec、MediaMuxer 复用与 MediaExtractor
ffmpeg 模块介绍、音视频解码,音视频同步、I 帧,B 帧,P 帧解码原理、x264 视频编码与 faac 音频编码、OpenGL 绘制与 NativeWindow 绘制
RTMP 协议、、音视频通话 P2P WebRtc
高斯模糊、高反差保留、强光处理、融合
流程列表、视频拍摄、视频编辑、视频导出
变速入口分析、音频变速实现、视频变速实现
Opencv
图像预处理
灰度化和二值化、腐蚀与膨胀、人脸检测、身份证识别
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
现在面试问的很多东西,都是原理。
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图,以上资源均免费分享,以上内容均放在了开源项目: 【 github 】 中已收录,大家可以自行获取。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69983917/viewspace-2728788/ ,如需转载,请注明出处,否则将追究法律责任。