![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Android NDK开发】
文章平均质量分 94
无名之辈FTER
不是因为看到希望才坚持,而是坚持了才能看到希望!
展开
-
Android NDK开发之旅(1): Eclipse中NDK环境搭建与JNI开发流程
看着本篇文章的标题,或许你会问现在AndroidStudio版本都更新到3.0了,从2.2开始就可以直接使用Cmake来构建NDK项目,根本没有必要再去研究NDK在Eclipse中的开发。嗯,在我使用过AndroidStudio构建NDK项目后,我也是这种想法,通过cmake编译C/C++代码来构建NDK开发框架确实是非常智能、步骤也很简单,完全可以秒杀Eclipse。但是,对于从来没有开发NDK项目的人来说,直接上AS开发可能一是无法明白这其中的原理,比如Android项目是如何构建C/C++开发环境的、原创 2017-05-22 16:02:53 · 3963 阅读 · 0 评论 -
Android NDK开发之旅(3): 详解JNI数据类型与C/C++、Java之间的互调
Java中有两种类型:基本数据类型(int、float、char等)和引用类型(类、对象、数组等)。JNI定义了一个C/C++类型的集合,集合中每一个类型对应于Java中的每一个类型,其中,对于基本类型而言,JNI与Java之间的映射是一对一的,比如Java中的int类型直接对应于C/C++中的jint;而对引用类型的处理却是不同的,JNI把Java中的对象当作一个C指针传递到本地函数中,这个指针指向JVM中的内部数据结构,而内部数据结构在内存中的存储方式是不可见的,本地代码必须通过在JNIEnv中选择适当原创 2017-06-03 13:20:00 · 5431 阅读 · 0 评论 -
Android直播开发之旅(4):MP3编码格式分析与lame库编译封装
转载请声明出处:http://blog.csdn.net/andrexpert/article/77683776一、Mp3编码格式分析 MP3,全称MPEG Audio Layer3,是一种高效的计算机音频编码方案,它以较大的压缩比(1:10至1:12)将音频文件转换成较小的扩展名为.mp3的文件,且能基本保持原文件的音质。假如有一个4分钟的CD音质的WAV音频,其音频参数为44...原创 2017-08-29 17:59:04 · 4709 阅读 · 0 评论 -
Android NDK开发之旅(2):Android Studio中使用CMake进行NDK/JNI开发(初级)
CMake是一款比make更强大的编译自动配置工具,它可以根据不同平台、不同的编译器,并通过CMakeLists.txt文件中简单的语句来描述所有平台的编译过程,生成相应的Makefile文件或project文件。CMake被引入于AndroidStudio2.2,其目的是替代原有的JNI/DNK开发方法,使AS在进行JNI/NDK时更加的方便、高效。CMake的优势如下:(1) 允许直接在C/C++代码中加入断点,调试;(2) 在Java层中使用“ctrl+左键”快捷键能够直接进入本地方法对应原创 2017-06-07 23:20:02 · 8816 阅读 · 1 评论 -
Android NDK开发之旅(5):Android Studio中使用CMake进行NDK/JNI开发(高级)
转载请声明出处:https://blog.csdn.net/AndrExpert/article/details/82909572在Android Studio中使用CMake进行NDK/JNI开发(初级)一文中,我们详细介绍了如何在Android Studio中使用cmake编译环境开发原生库(.so)。本文将在此基础上,进一步学习CmakeLists.txt脚本文件的语法规则,同时阐述如何...原创 2018-10-09 11:38:57 · 1895 阅读 · 0 评论 -
Android NDK开发之旅(6):JNI函数完全解析与项目实战
**对于基本类型而言,JNI与Java之间的映射是一对一的,比如Java中的int类型直接对应于C/C++中的jint;而对引用类型的处理却是不同的,JNI把Java中的对象当作一个C指针传递到本地函数中,这个指针指向JVM中的内部数据结构,而内部数据结构在内存中的存储方式是不可见的,本地代码必须通过在JNIEnv中选择适当的JNI函数来操作JVM中的对象。...原创 2018-10-25 23:23:25 · 2622 阅读 · 2 评论