由android so文件的疑问引发的知识点查询

上一篇 / 下一篇  2014-05-08 09:48:04 / 个人分类:step by step android测试

1、so文件
一些重要的加密算法或者核心协议一般都用c写然后给java调用。这样可以避免反编译后查看到应用的源码。
也是ELF格式文件,共享库(动态库),类似于DLL。节约资源,加快速度,代码升级简化。
NDK,是别人用c写库编译出来的,可以在java代码中调用,一些应用核心部分是c写的,可以加快运行速度。
.so文件一般都是linux的驱动。
a、需要看下android的NDK,
b、c语言的不能反编译??c语言编译后是汇编语言,比较难读懂,java的class文件可以反编译为java文件,易读性比较好。
c、什么叫动态库(windows下试dll文件,linux下试so文件)动态链接库提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或者多个已被编译、链接并与使用他们的进程分开存储的函数。还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。
d、JNI(java native interface)这个是java与其他语言的通信接口,已经用其他语言实现了的功能,根据约定编写一段代码,就可以调用其他语言的方法。
2、NDK(native develop kit)
它提供了一系列的工具,帮助开发者快速开发c或者c++的动态库,并且自动将so和java应用一起打包成apk。

TAG:

 

评分:0

我来说两句

Open Toolbar