當前位置:首頁 » 文件管理 » so是什麼文件可以刪除嗎
擴展閱讀
vivo有哪些軟體可以分身 2025-05-21 09:03:01
促可以組什麼詞 2025-05-21 08:50:43

so是什麼文件可以刪除嗎

發布時間: 2022-12-19 03:46:07

① so格式文件是什麼文件

這個是linux系統下的文件,你的手機應該是安卓平台,安卓平台是從linux內核的基礎上發展過來的,所以會有後綴為.so(sharedobject)的文件,當然這樣解釋不夠精確、詳細,肯定會被吐槽,具體如下:

准確地、詳細地來說,

手機裡面有硬體,也就是弱電學中的電路,電路組成了CPU和協助CPU的外圍電路,


CPU上面移植了Linux內核,好,接下來就開始百花齊放了:

1、有的手機跑的是安卓的系統

2、有的時候跑的是linux系統

他們都基於Linux內核,對於Linux內核有不同的擴充,有的擴充成A系統,叫安卓,有的擴充成B系統,叫Linux,但是手機上,安卓相對linux,更加流行。

而Linux內核,並不是唯一的,有正統的,也有非正統的(不太常見而已),而Linux內核對應的CPU結構,也有很多種,因此不同的智能手機可能有不同的CPU、不同的Linux內核和不同的安卓系統(這個系統里包含了Linux內核)

當然還有跑windows的,扯遠了,windows的手機,裡面應該可以找dll文件,這個對應安卓系統的.so文件。


還沒講so文件是幹嘛的~


那為什麼起個名字叫shareobject?

這個so文件,有時候是直接被調用的,有時候是會參與到編譯中的,也就是說,一個.so文件可能會被多個應用程序用到,因此取名叫shareobject(share:大家一起來分享使用的意思)。

這個就和windows裡面一樣,如果有時候網路下載了幾個調用dll文件的軟體,恰好電腦裡面缺這幾個dll,那麼此時,這幾個軟體將不能運行,也就是說,這幾個dll會被這幾個軟體在運行時都用到,有share的味道,所以在windows裡面叫鏈接庫,在Linux內核的系統上(可以是ubuntu啊、redhat啊,android等等)叫.so(sharedobject),作用類似,windows中起名字更嚴肅點(鏈接文件,編譯帶上它,像一條鏈條一樣),linux對它的起名更形象些(大家分享一起來用),意思差不多。當然區別肯定會有,這里只是回答得讓讀者大致理解,具體細節上的差別請另外網路。

.so文件怎麼運作的?(下面兩個步驟摘自網路)

###########################################

①編譯階段。鏈接編輯器(linkeditor)拿它和其他Relocatableobjectfile以及其他sharedobjectfile作為輸入,經鏈接處理後,生存另外的sharedobjectfile或者executablefile。

②運行階段。動態鏈接器(dynamiclinker)拿它和一個executablefile以及另外一些sharedobjectfile來一起處理,在Linux系統裡面創建一個進程映像。

這段話看起來比較抽象,如果想迅速理解它,建議讀者網路找一個gcc/g++運行helloworld的例子就理解了.

###########################################

所以大家愛吐槽啊,這個C牌子的智能手機,怎麼刷不了那個D牌手機官方系統包啊?出來各種問題,有些問題是可以解決的,有些是解決不了的,甚至會有燒機的情況。

這類問題和底層的CPU種類、Linux內核種類及版本、so文件版本等都是相關的。

所以有些牌子的智能機有通吃現象,可以刷其他牌子的各種官方系統,有的智能機則不行。


總結:

CPU和PCB外圍電路=>Linux內核+應用組件組成的安卓系統(用戶層)=>對.so文件和其他文件一起編譯=>對.so文件和其他文件一起運行=>創立進程、線程(也就是手機上的各種app和系統自帶功能)=>然後我們就可以使用手機上的各種功能了。


最後,以上回答只是為了讓讀者有初步的、粗略的、大致的理解。任何專業名詞和術語只要打了比方,就肯定是不絕對精確的。更詳細的細節,請參考專業文獻。


手機裡面的so文件,如果是應用軟體的,刪除後,應用軟體請重裝,如果是系統自帶的,請盡量不要刪除。

拋磚引玉,答得不好,請別罵,謝謝!

-----------------------------------

補充:

評論中提到了FreeBSD,我來說下怎麼回事:

操作系統=userland(用戶層)+Linux內核

Android使用的是FreeBSD內核(其實是用戶層,當然你也可以說他是內核)+Linux內核

Ubuntu使用的是GNU(用戶層)+Linux內核

用戶層啥意思:

我花了錢你不至於還讓我看底層電路底層的010101吧?買來當然是為了王者農葯對不?

通俗地講:就是屏蔽底層細節,讓客戶買來直接用.

計算機裡面為啥會有0和1?

本質是電路中的高電平和低電平,舉例:

0.5V->bit 1

0.1V->bit 0


才疏學淺,拋磚引玉,答得不好,請別罵,謝謝!

-----------------------------------

② so格式文件是什麼文件

SO文件格式即ELF文件格式,它是Linux下可執行文件,共享庫文件和目標文件的統一格式。

根據看待ELF文件的不同方式,ELF文件可以分為鏈接視圖和裝載視圖。鏈接視圖是鏈接器從鏈接的角度看待靜態的ELF文件。

從鏈接視圖看ELF文件,ELF文件由多個section組成,不同的section擁有不同的名稱,許可權。而裝載視圖是操作系統從載入ELF文件到內存的角度看待動態的ELF文件。

從裝載視圖看ELF文件,ELF文件由多個segment,每一個segment都擁有不同的許可權,名稱。實際上,一個segment是對多個具有相同許可權的section的集合。

(2)so是什麼文件可以刪除嗎擴展閱讀

由於Android操作系統的底層基於Linux系統,所以SO文件可以運行在Android平台上。Android系統也同樣開放了C/C++介面供開發者開發Native程序。

由於基於虛擬機的編程語言JAVA更容易被人反編譯,因此越來越多的應用將其中的核心代碼以C/C++為編程語言,並且以SO文件的形式供上層JAVA代碼調用,以保證安全性。

而ELF頭表記錄了ELF文件的基本信息,包括魔數,目標文件類型(可執行文件,共享庫文件或者目標文件),文件的目標體系結構,程序入口地址(共享庫文件為此值為0),然後是section表大小和數目,程序頭表的大小和數目,分別對應的是鏈接視圖和裝載視圖。



③ 刪除system/lib中後綴為so的文件可以擴大手機可用運行內存嗎

這裡面的so文件不能隨意刪除,否則輕者軟體無法正常運行,重者無法開機。

④ king_so_f_t是什麼文件夾可以刪除

可以刪除,是安裝金山公司軟體的文件夾。
比如安裝有金山毒霸、金山辦公軟體時就會有該文件夾。該文件是可以刪除的,一般是通過卸載相應的軟體來完成。
在電腦上打開控制面板按鈕,找到程序以後點擊進入,進入卸載頁面以後,在軟體列表中找到金山毒霸,然後滑鼠右鍵金山毒霸選擇卸載。