引言
本文是老本行系列,Android相关的文章(以前的藏文),以后不定期地会发出老本行系列。
IDA pro简介
IDA pro全名为交互式反汇编器专业版(Interactive Disassembler Professional),简称为IDA。就本质而言,IDA是一种递归下降反汇编器。为了克服递归下降的缺点,IDA在区分数据与代码的同时,还设法确定这些数据的类型。通过IDA pro对dll、so等文件进行反编译后,用户通常看到的是经过数据类型区分的汇编语言形式的代码。IDA pro还有一个亮点,就是类似C语言的“中间语言”,汇编语言的阅读是需要一些学习成本的,类C的“中间语言”有助于用户更好地查看实现逻辑。
NDK开发流程
The Android NDK is a toolset that lets you implement parts of your app in native code, using languages such as C and C++. For certain types of apps, this can help you reuse code libraries written in those languages.
上段是Android官网对NDK的定义,简单明了,就是在开发App的过程中,通过NDK使用C或C++实现一些类库,实现复用。
那么,为什么使用NDK进行开发呢?
代码的保护
易于重用现有成熟的开源库(OpenCV、OpenGL等)
提高性能
便于移植复用so库
从事Android开发的同学们应该对NDK很熟悉,为了更好地理解SO库是什么,还是提供一张图说明下