还没讲so文件是干嘛的~那为什么起个名字叫share object?这个so文件,有时候是直接被调用的,有时候是会参与到编译中的,也就是说,一个.so文件可能会被多个应用程序用到,因此取名叫share object。这个就和windows里面一样,如果有时候百度下载了几个调用dll文件的软件,恰好电脑里面缺这几个dll,那么此时,这几个软件将不能运行,也就是说,这几个dll会被这几个软件在运行时都用到,有share的味道,所以在windows里面叫链接库,在Linux内核的系统上(可以是ubuntu啊、redhat啊,android等等)叫.so(shared object),作用类似,windows中起名字更严肃点,linux对它的起名更形象些,意思差不多。当然区别肯定会有,这里只是回答得让读者大致理解,具体差别请另外百度。.so文件怎么运作的?(下面两个步骤摘自百度)###########################################①编译阶段。链接编辑器(link editor)拿它和其他Relocatable object file以及其他shared object file作为输入,经链接处理后,生存另外的 shared object file 或者 executable file。②运行阶段。动态链接器(dynamic linker)拿它和一个executable file以及另外一些 shared object file 来一起处理,在Linux系统里面创建一个进程映像。###########################################所以大家爱吐槽啊,这个C牌子的智能手机,怎么刷不了那个D牌手机 官方系统包啊?出来各种问题,有些问题是可以解决的,有些是解决不了的,甚至会有烧机的情况。