androidgzip
① 如何修改android系統的ramdisk以及boot鏡像
ramdisk 是一種基於內存的虛擬磁碟技術,採用ext2文件系統。ramdisk.gz是ramdisk文件再壓縮後的格式。查看ramdisk.gz根文件系統,或者對原有的文件系統進行修改,只需解壓,再把獲得的鏡像文件掛載即可。
修改步驟如下:
解壓:轉到ramdisk.gz所在文件夾#gunzip ramdisk.gz
注意,解壓後會得到ramdisk鏡像文件,該鏡像文件會把原有的ramdisk.gz覆蓋,因此如果想保留ramdisk.gz復制到其他文件夾後再解壓。掛載: #mkdir /mnt/loop
#mount –o loop ramdisk /mnt/loop //掛載鏡像到loop目錄
#cd /mnt/loop這里可以看到, 就是ramdisk.gz成功載入後的目錄。修改文件系統的內容比如設置固定的IP地址,MAC地址。
umount /mnt/loop卸載 /mnt/loop0。
重新壓縮成.gz壓縮文件
#gzip –v9 ramdisk//生成新的ramdisk.gz壓縮文件。
② 安卓哪個解壓軟體有連續解壓多個相同密碼的文件時將當前密碼應用到所有加密文件的功能
ZArchiver(超級壓縮管理器)是一款管理壓縮文件的應用程序,它提供了簡潔高效的用戶界面以及多種壓縮格式的支持,是Android系統上功能最強的壓縮文件管理器之一。
主要功能:
- 創建多種格式的壓縮文件:7z、ZIP、TAR、BZIP2、GZIP、XZ
- 解壓多種格式的壓縮文件:7z、ZIP、RAR、BZIP2、GZIP、XZ、ISO、TAR、JAR、CAB、LZH、LZMA、XAR
- 查看多種格式的壓縮文件內容:7z、ZIP、RAR、BZIP2、GZIP、XZ、ISO、TAR、JAR、CAB、LZH、LZMA、XAR
- 創建和解壓受密碼保護的壓縮文件
- 編輯壓縮文件:將文件添加到壓縮文件中或從壓縮文件中刪除文件
- 創建和解壓分卷壓縮文件
- 從壓縮文件中直接打開文件
- 顯示縮略圖和APK圖標選項
- 支持多線程(在多核心處理器上很有用)
- 支持Unicode文件名(UTF-8)
③ 如何編譯android userdata.img
1、android文件系統的結構
android源碼編譯後得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數據,emulator載入這3個映像文件後,會把 system和 userdata分別載入到 ramdisk文件系統中的system和 userdata目錄下。因此,我們可以把ramdisk.img里的所有文件復制出來,system.img和userdata.img分別解壓到 ramdisk文件系統中的system和 userdata目錄下。
2、分離android文件系統出來
system.img,ramdisk.img,userdata.img映像文件是採用cpio打包、gzip壓縮的,可以通過file命令驗證:
file ramdisk.img,輸出:
ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009
Android源碼編譯後除了生成system.img,userdata.img之外還生成system和 userdata文件夾,因此不需要解壓它們。Android源碼編譯後還生成root文件夾,其實root下的文件與 ramdisk.img 里的文件是一樣的,不過這里還是介紹怎樣把 ramdisk.img解壓出來:
將ramdisk.img復制一份到任何其他目錄下,將其名稱改為ramdisk.img.gz,並使用命令
gunzip ramdisk.img.gz
然後新建一個文件夾,叫ramdisk吧,進入,輸入命令
cpio -i -F ../ramdisk.img
這下,你就能看見並操作ramdisk裡面的內容了。
然後把Android源碼編譯後生成的system和 userdata里的文件復制到 ramdisk/system和 ramdisk/userdata下。這樣就得到一個文件系統了。
3、使用網路文件系統方式掛載android文件系統
因此,我們需要建立/nfsroot目錄,再建立/nfsroot/androidfs目錄,把剛才的android文件系統改名為androidfs,並鏈接到/nfsroot/androidfs
4、android內核引導文件系統
android內核掛載/nfsroot/androidfs之後,根據init.rc,init.goldfish.rc來初始化並裝載系統庫、程序等直到開機完成。init.rc腳本包括了文件系統初始化、裝載的許多過程。init.rc的工作主要是:
1)設置一些環境變數
2)創建system、sdcard、data、cache等目錄
3)把一些文件系統mount到一些目錄去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)設置一些文件的用戶群組、許可權
5)設置一些線程參數
6)設置TCP緩存大小
④ 有哪些 Android 的開源界面庫
比較火爆的Android開源庫有以下:
1、volley
主要有以下模塊:
(1) JSON,圖像等的非同步下載;
(2) 網路請求的排序(scheling)
(3) 網路請求的優先順序處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)2、android-async-http
主要有以下模塊:
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences 3、Afinal框架
主要有四大模塊:
(1) 資料庫模塊:android中的
,使用了線程池對sqlite進行操作。
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。4、xUtils框架
主要有四大模塊:
(1) 資料庫模塊:android中的
,一行代碼就可以進行增刪改查;
(2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
(3) 網路模塊:支持同步,非同步方式的請求;
(4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;5、ThinkAndroid主要有以下模塊:(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 資料庫模塊:android中的
,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
(9) 下載器模塊:可以簡單的實現
、後台下載、
、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢6、LoonAndroid 主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網路請求模塊(繼承了基本上現在所有的
)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
⑤ 安卓手機上tar文件打不開啊,用的re管理器
可以使用<解壓縮文件專家>這個軟體 ,ZIP, JAR, APK, WAR, EAR, TAR, GZIP都能解
軟體版本:解壓縮文件專家(AndroZip File Manager) 已付費版 v4.0
軟體類型:系統管理
資費提示:完全免費
軟體等級:★★★★☆
運行系統:Android 1.6以上
解析度:320x480 480x800 480x854 540x960 600x800 960x640 1024x600 1024x768 1280x800 1024x480 1280x720
格式:apk 大小:2M
AndroZip File Manager愛壓縮是一款以處理壓縮文件為主的多功能軟體,除了支持多種格式的解壓/壓縮之外,還具有文件管理、程序管理以及進程管理等實用功能,非常實用並支持分卷解壓.
-內建程序管理及進程管理,可備份程序(非Private)到存儲卡。
-可解壓壓縮大小為64KB、1MB、2MB、3MB、4MB、6MB的7Z文件,甚至可以解壓更大的7Z文件,但是過大的壓縮文件可能導致程序意外終止甚至系統崩潰,請創建7Z時注意大小。
-可打開256-bit AES加密的ZIP文件。
-可創建ZIP、RAR、7Zip、BZip2壓縮文件、可解壓ZIP、JAR、APK、WAR、EAR、TAR、GZIP壓縮文件。
-可以快速查看ZIP和RAR文件中的內容並可以選擇文件解壓。
-菜單鍵可快速打開(例如JPG、PNG、TXT、XML、HTML格式等),管理文件/文件夾發送Mail、重命名、移動、復制、刪除等。
注意事項
1.請不要打開系統的SD卡自動載入功能
2.系統需ROOT
更新內容:
-添加韓文、葡萄牙文(巴西)、塞爾維亞文、瑞典文翻譯;
-支持Zip文件名包含非ASCII字元(如中文、西里爾字母、音符)及瀏覽WinZip創建的壓縮文件;
-近期解壓、移動、復制和創建的文件和文件夾會高亮顯示;
-增大工具欄圖標名稱;
-修復Bug。
ps:如果安裝了原版(英文版),請先卸載原版再安裝漢化版
⑥ Android 網路框架解壓縮(gzip)淺談
六談這個話題,是因為很多時間都忽略了這個因素,網路傳輸數據的壓縮很少有人去關注,然而有時間提到這個問題的時間卻一時不知道怎麼回答,或者已經忘掉了這個概念...
進入正題,首先來聊聊Gzip。
Gzip是GNUZip的縮寫,他是一個GNU自由軟體的文件圧縮程序。
我們在進行網路傳輸數據時,經常用到json、xml等格式的數據,這些數據在傳輸前可以進行壓縮,這時候就會涉及到一種壓縮格式—Gzip。Gzip的壓縮比率非常大,有的甚至能達到99.9%以上,可以大大減少傳輸內容,提高用戶的傳輸速度,進而提高用戶的體驗。
http://tool.chinaz.com/Gzips/
https://gzip.51240.com/
比如我們通過第一個鏈接看一下「開源中國的新聞頁」,網址如下:
http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=0&pageSize=20
結果顯示,這個網頁沒有進行壓縮,源文件大小為12KB,而壓縮後,文件可減小到0.01KB,可以節省99.92%的傳輸控制項。這是什麼概念呢?相當於100MB的數據經過壓縮後不到1MB。
說道這里,我們先說一下Http中的Gzip技術細節
HTTP協議上的GZIP編碼是一種用來改進WEB應用程序性能的技術。一般伺服器中都安裝有這個功能模塊的,伺服器端不需做改動,當瀏覽器支持gzip 格式的時候, 伺服器端會傳輸gzip格式的蔽清數據。具體講就是 http request 頭中 有 "Accept-Encoding", "gzip" ,response 中就有返回頭Content-Encoding=gzip ,我們現在從瀏覽器上訪問玩啥網站都是gzip格式傳輸的。
同樣的的道理,我們可以在android 客戶端 request 頭中加入 "Accept-Encoding", "gzip" ,來讓伺服器傳送gzip 數據知並渣。
首先,客戶端發請求給服搭悄務端,會帶上請求頭:Accept-Encoding:gzip。第二步,服務端接收到請求頭後,可以選擇壓縮或不壓縮。第三步,服務端選擇壓縮後,文件明顯變小,同時在響應頭加上Content-Encoding:gzip。第四步,客戶端接收到響應後,根據響應頭中是否帶有Content-Encoding:gzip,判斷文件是否被壓縮,如果壓縮就進行解壓,如果沒有壓縮,就按照正常方式讀取數據即可。
OKhttp3.4.0開始將這些邏輯抽離到了內置的interceptor中,看起來較為方便
在 BridgeInterceptor.java 這個類里邊可以看到
如果header中沒有Accept-Encoding,默認自動添加 ,且標記變數transparentGzip為true。
針對返回結果,如果同時滿足以下三個條件:
移除 Content-Encoding、Content-Length,並對結果進行解壓縮。
可以看到以上邏輯完成了,由此我們通過OkHttp源碼得出以下結論:
由於引用太多源碼就不寫了,直接針對以上6點做結果分析
Android』s HTTP Clients
HttpURLConnection
HTTP 協議中的 Transfer-Encoding