1. 程式人生 > >Android系統映象改造指南

Android系統映象改造指南

一、原始碼編譯

飛思卡爾板子編譯原始碼步驟:

1. # source build/envsetup.sh

2. # lunch jj_6dq-user

3. # make -j4 2>&1 | tee build_sabresd_6dq_android.log

m 在原始碼樹的根目錄執行make; mm Build當前目錄下的模組;mmm Build指定目錄下的模組。

注:編譯之後在原始碼根目錄out/target/product/jj_6dq下生產系統燒錄所需的映象檔案,此目錄下的system目錄,基本對應板子系統中的system目錄,在此進行增加修改,如app目錄中的應用,lib目錄下的.so庫檔案,bin下的指令碼命令等。修改之後,make snod,大概十來分鐘之後,系統重新打包生成的系統映象即為修改後的系統映象。(如果是修改原始碼,之後make生成系統映象,app和bin目錄中的內容會保留)

條件:ubuntu系統下已編譯的系統原始碼

二、解壓和重新打包system.img

1.  檢視img檔案型別:

# file system.img

system.img: Linux rev 1.0 ext4 filesystemdata, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)

注:ext4 filesystem data(實際上,高版本的Android的system.img通常是ext4格式的檔案系統,而不是yaffs2格式的檔案系統,所以不能使用mkyaffs2image命令製作system.img,也不能使用unyaffs命令 將其解壓。如果想生成system.img檔案,需要使用make_ext4fs命令。解壓system.img需要使用mount命令將其掛載到某個目錄,yaffs2的映象遇到再自行腦補)。

(如果返回的是system.img:VMS Alpha executable,需先將映象轉換為普通的linux映象檔案。[官方的system.img返回可能是:system.img:data]

#simg2img system.img system.img.raw)

2.  掛載分割槽

# mount -t ext4 -o loop system.img systemimg

注:如果目錄不存在,先使用mkdir systemimg建立systemimg目錄。此命令的意思將system.img映象檔案掛載到systemimg目錄。進入到systemimg目錄進行系統映象內容的修改。

3.  重新打包生成system.img

#./make_ext4fs -l 280M -s -a system system_new.img systemimg

-l:映象的尺寸。並不是實際尺寸,而是檔案系統的尺寸。這個值可以參考掛載前system.img的大小

-s:生成Sparse格式的映象檔案。

-a:指定掛載點。

4.  轉換系統映象型別

#./simg2img system_new.img system_out.img

注:在編譯Android原始碼後會在<Android原始碼根目錄>/out/hous/linux-x86/bin目錄下生成各種命令列工具。make_ext4fs 、simg2img等工具即在此目錄下。

WMware中Ubuntu虛擬機器從Windows拷貝檔案:cp /mnt/hgfs/share/需要拷貝的檔名 ./   share未WMware中定義的共享資料夾名

三、 以root許可權直接修改板子上的系統(或者adb加串列埠打命令,此方式限於飛思卡爾的板子,效果同root,不再累述)

1.  安裝360、百度等第三方root程式,root板子

2.  將你的手機資料線,插上,把你的裝置設定為允許usb除錯

3.  adb shell進入adb除錯

4.  mount檢視系統掛載

5.  mount -o remount,rw /system(上一步檢視系統映象是隻讀的,並知道分割槽,如果此命令不行,在rw後加上分割槽路徑)

6.  定製時,*.so檔案拷貝到/system/lib目錄下,命令列拷貝到/system/bin目錄下,apk拷貝到/system/app目錄下,注意檔案的許可權改成一樣(chmod,chown命令)(使用adb push,cp,mv等指令)

修改完成之後,reboot即可。

相關推薦

Android系統映象改造指南

一、原始碼編譯 飛思卡爾板子編譯原始碼步驟: 1. # source build/envsetup.sh 2. # lunch jj_6dq-user 3. # make -j4 2>&1 | tee build_sabresd_6dq_android.log

android系統映象:boot.img kernel.img ramdisk.img system.img userdata.img cache.img recovery.img

boot.img(kernel.img+ramdisk.img) ramdisk.img(/) system.img(/system) userdata.img(/data) cache.im

替換Android系統映象system.img的方法

之前修改了Android的系統原始碼的framework層程式碼,定製ROM。通過make之後會生成三個映象檔案userdata.img、system.img、ramdisk.img三個檔案。這個時候

Android系統映象檔案的打包過程分析

       在前面一篇文章中,我們分析了Android模組的編譯過程。當Android系統的所有模組都編譯好之後,我們就可以對編譯出來的模組檔案進行打包了。打包結果是獲得一系列的映象檔案,例如system.img、boot.img、ramdisk.img、userdata.

android 原始碼的m、mm、mmm編譯命令的使用與重新打包android系統映象檔案。

一、android 原始碼的m、mm、mmm編譯命令的使用 m:編譯整個安卓系統      makes from the top of the tree mm:編譯當前目錄下的模組,當前目錄下需要有Android.mk這個makefile檔案,否則就往上找最近的A

android系統映象裁剪定製---實戰篇

android系統裁剪優化一直是各個廠商定製產品的關鍵步驟,包括淺層次的去除不必要的apk(android apk裁剪定製 )和深層次的裁剪整個編譯系統和框架層.   android作為開源系統,各個產品同質化嚴重,只有深層次的裁剪定製自己的系統,才能充分體現各自產品的特性,也是優化各自產品的關鍵步驟,此

使用清華映象快速下載Android系統原始碼

參考以上資料,梳理之後,整理出來的,意在後期再次搭建的時候方便檢視用。 環境要求 OS ubuntu16.04安裝repo安裝curl安裝git 上面的工具環境如果沒有,可以自己使用apt-get命令去安裝,方法也很簡單,不在此處贅述。 1. 新建一個用於存放下

Android things定製系統映象

現在google對Android things系統支援自定義系統映象,可以選擇一些定製化的方案,比如預裝app,記憶體空間大小分配NXP Pico i.MX7D登入google Android things開發控制檯https://partner.android.com/th

Android系統使用谷歌官方GCM推送指南

本文旨在為所有Android系統手機普通使用者提供使用谷歌GCM推送的教程,注意這不是用於開發者的。雖名為指南,但多少是探索性的,因為一些細節筆者尚未搞清楚,希望各位指正。由於大部分國內應用沒有使用GCM推送服務,那麼如果你手機裡的應用幾乎沒有使用GCM服務的應用,那麼即使打通GCM也是沒有意義的。本文的適用

【分享】迅為iTOP4412開發板-Android系統屏幕旋轉設置

原生 android4 代碼 豎屏 == watermark ont 分辨率 軟件 1.1概述 Android4.0,Androd4.4源代碼能夠編譯成手機模式和平板模式,訊為iTop4412 開發平臺 的Android系統默認編譯為平板模式。客戶須要依據自己的產品

電子書 Android編程權威指南 第2版.pdf

免費下載 開發經驗 掌握 個人 美國 旅行 心得體會 編程指南 用途 Big Nerd Ranch是美國一家專業的移動開發技術培訓機構。本書主要以其Android訓練營教學課程為基礎,融合了幾位作者多年的心得體會,是一本完全面向實戰的Android編程指南。全書共34章,詳

改動android 系統時間

nbsp pop -m andro shel content data popu 命令 命令如 date -s "yyyymmdd.[[[hh]mm]ss]" 直接在CRT上執行,舉例:date -s "20120801.120503" 但在adb shell下

Android核心服務解析篇(三)——Android系統的啟動

onf med cin gets get lld 系統屬性 基本 安裝模塊 從大的方面來說。Android系統的啟動能夠分為兩個部分:第一部分是Linux核心的啟動,第二部分是Android系統的啟動。第一部分主要包含系統引導,核心和驅動程序等,因為它們不屬於本篇要講的

高速改動android系統默認日期方法

port odi -a 個推 post setting moved ast 是不是 高速改動android系統默認日期方法 在android系統的設備上,都有一個默認的開始日期,看過非常多設備,有些設備在沒有聯網的時候沒有同步到系統時間的時候,竟然默

【樹莓派】樹莓派刷Android系統

net 文章 圖文 str 鍵盤操作 左右移動 ima 工具 解決 樹莓派3安裝Android TV系統圖文教程 http://www.mz6.net/news/android/6866.html 樹莓派3 Android TV系統怎樣安裝?樹莓派3一個重要用途就是當智

App 組件化/模塊化之路——Android 框架組件(Android Architecture Components)使用指南

them 實體 storage form 查詢 app 開發 callback 後臺 pil 面對越來越復雜的 App 需求,Google 官方發布了Android 框架組件庫(Android Architecture Components )。為開發者更好的開發 App

調用aNDROID系統自帶功能

ont hao123 provide music content vid uri android系統 系統 CONTENTpROVIDER%E5%9F%BA%E7%A1%80%E4%B9%8BURI http://music.hao123.com/songlist/495

Android系統編譯出錯

android 編譯出錯在Android7.1編譯過程中出現如下錯誤:Starting build with ninjaninja: Entering directory `.‘ [ 0% 8/30301] Ensure Jack server is installed and startedJack

Android系統默認語言改為中文

android targe base center lang rda 16px oca 語言 第一種方法:修改 build/tools/buildinfo.shecho "ro.product.locale.language=zh"echo "ro.product.loca

如何直接打開android系統的wifi設置頁面,防止intent劫持

art intent pre fonts mark bsp androi 希望 andro 在android的app開發中,經常會遇到需要跳轉至系統設置頁面的需求。但是當你使用以下代碼時: 如 Intent intent = new Intent(Settings.ACT