導航:首頁 > 源碼編譯 > 華為手機編譯後生成哪些img

華為手機編譯後生成哪些img

發布時間:2022-07-21 00:07:11

A. 如何查看華為emui系統apk源碼

有兩種方式:
1.安裝豌豆莢,豌豆莢里有一個應用管理的功能,可以查看手機里的所有應用,包括系統應用。
可以使用該功能導出系統應用APK。
2.解包華為UPDATE.APP
(1)到華為EMUI官網下載相應的系統安裝包UPDATE.APP
(2)到華為花粉俱樂部論壇中,搜索HuaweiUpdateExtractor,當前能找到的最新版本是0.9.9.3,
目前使用該版本一般都能解包成功。
解包成功後,得到很多img文件。
系統源碼主要在SYSTEM.img中,下一步

B. android源碼怎麼編譯生成recovery.img

recovery.img生成過程
L630-L637 依賴關系
(From: build/core/Makefile)630 $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) /631 $(INSTALLED_RAMDISK_TARGET) /632 $(INSTALLED_BOOTIMAGE_TARGET) /633 $(recovery_binary) /634 $(recovery_initrc) $(recovery_kernel) /635 $(INSTALLED_2NDBOOTLOADER_TARGET) /636 $(recovery_build_prop) $(recovery_resource_deps) /637 $(RECOVERY_INSTALL_OTA_KEYS)

INSTALLED_RECOVERYIMAGE_TARGET 為我們的編譯目標:

584 INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img

它依賴很多其它目標:
1.MKBOOTFS, MINIGZIP, MKBOOTIMG,PC端工具軟體:(From build/core/config.mk)265 MKBOOTFS := $(HOST_OUT_EXECUTABLES)/mkbootfs$(HOST_EXECUTABLE_SUFFIX)266 MINIGZIP := $(HOST_OUT_EXECUTABLES)/minigzip$(HOST_EXECUTABLE_SUFFIX)267 MKBOOTIMG := $(HOST_OUT_EXECUTABLES)/mkbootimg$(HOST_EXECUTABLE_SUFFIX)

2.INSTALLED_RAMDISK_TARGET,標准根文件系統 ramdisk.img:

326 BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img328 # We just build this directly to the install location.329 INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET) 3.INSTALLED_BOOTIMAGE_TARGET, 即boot.img,標准內核及標准根文件系統:362 INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img

4. recovery_binary, Recovery可執行程序,源碼位於:bootable/recovery

590 recovery_binary := $(call intermediates-dir-for,EXECUTABLES,recovery)/recovery

5. recovery_initrc,recovery模式的init.rc, 位於 bootable/recovery/etc/init.rc

586 recovery_initrc := $(call include-path-for, recovery)/etc/init.rc

6. recovery_kernel, recovery 模式的kernel, 同標准內核

587 recovery_kernel := $(INSTALLED_KERNEL_TARGET) # same as a non-recovery system

7.INSTALLED_2NDBOOTLOADER_TARGET,我們不用。

8. recovery_build_prop, recovery 模式的build.prop, 同標准模式。589 recovery_build_prop := $(INSTALLED_BUILD_PROP_TARGET)

9. recovery_resource_deps, recovery 模式使用的res, 位於:recovery/custom/{proct_name}/res, 以及設備自定義部分(我們沒用到)

591 recovery_resources_common := $(call include-path-for, recovery)/custom/$(TARGET_PRODUCT)/res592 recovery_resources_private := $(strip $(wildcard $(TARGET_DEVICE_DIR)/recovery/res))593 recovery_resource_deps := $(shell find $(recovery_resources_common) 594 $(recovery_resources_private) -type f) 10. RECOVERY_INSTALL_OTA_KEYS, ota 密鑰:

618 # Generate a file containing the keys that will be read by the619 # recovery binary.620 RECOVERY_INSTALL_OTA_KEYS := /621 $(call intermediates-dir-for,PACKAGING,ota_keys)/keysL638-L655 准備內容
638 @echo ----- Making recovery image ------639 rm -rf $(TARGET_RECOVERY_OUT)640 mkdir -p $(TARGET_RECOVERY_OUT)641 mkdir -p $(TARGET_RECOVERY_ROOT_OUT)642 mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/etc643 mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/tmp

准備recovery目錄:out/target/proct/{proct_name}/recovery 及其子目錄:

./root

./root/etc

./root/tmp644 echo Copying baseline ramdisk...645 cp -R $(TARGET_ROOT_OUT) $(TARGET_RECOVERY_OUT)646 echo Modifying ramdisk contents...647 rm -rf $(TARGET_RECOVERY_ROOT_OUT)/res

從標准根文件系統拷貝所有文件, 刪除其res 目錄。

648 cp -f $(recovery_initrc) $(TARGET_RECOVERY_ROOT_OUT)/649 cp -f $(recovery_binary) $(TARGET_RECOVERY_ROOT_OUT)/sbin/ 拷貝recovery 模式的核心文件 init.rc 及 recovery 650 cp -rf $(recovery_resources_common) $(TARGET_RECOVERY_ROOT_OUT)/651 $(foreach item,$(recovery_resources_private), /652 cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/)653 cp $(RECOVERY_INSTALL_OTA_KEYS) $(TARGET_RECOVERY_ROOT_OUT)/res/keys 拷貝資源文件及密鑰文件。 654 cat $(INSTALLED_DEFAULT_PROP_TARGET) $(recovery_build_prop) /655 > $(TARGET_RECOVERY_ROOT_OUT)/default.prop 生成屬性文件 default.prop, 它包含了標准根文件系統的default.prop (out/target/proct/{proct_name}/root/default.prop)以及system分區的build.prop (out/target/proct/{proct_name}/system/build.prop) L656-L661 最終生成recovery.img
656 $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) | $(MINIGZIP) > $(recovery_ramdisk) 壓縮recovery根文件系統 657 build/quacomm/mkimage $(PRODUCT_OUT)/ramdisk-recovery.img RECOVERY > $(PRODUCT_OUT)/ramdisk_recovery.img 加一個標識頭(RECOVERY) 658 mv $(PRODUCT_OUT)/ramdisk_recovery.img $(PRODUCT_OUT)/ramdisk-recovery.img659 $(MKBOOTIMG) $(INTERNAL_RECOVERYIMAGE_ARGS) --output $@660 @echo ----- Made recovery image -------- $@661 $(hide) $(call assert-max-image-size,$@,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE),raw)

和內核一起,生成recovery.img附:Recovery 根文件系統目錄結構


$ tree

.

├── advanced_meta_init.rc

├── data

├── default.prop

├── dev

├── etc

├── init

├── init.factory.rc

├── init.goldfish.rc

├── init.quacomm.rc

├── init.rc

├── meta_init.rc

├── proc

├── res

│ ├── images

│ │ ├── icon_error.png

│ │ ├── icon_installing.png

│ │ ├── indeterminate1.png

│ │ ├── indeterminate2.png

│ │ ├── indeterminate3.png

│ │ ├── indeterminate4.png

│ │ ├── indeterminate5.png

│ │ ├── indeterminate6.png

│ │ ├── progress_empty.png

│ │ └── progress_fill.png

│ └── keys

├── sbin

│ ├── adbd

│ ├── advanced_meta_init

│ ├── meta_init

│ ├── meta_tst

│ └── recovery

├── sys

├── system

└── tmp

C. 官方EMUI APP解包後 哪個文件是 BOOT.IMG

方法/步驟
boot映像並不是一個完整的文件系統,它是一種android自定義的文件格式,該格式包括了2K的文件頭,後面緊跟著是用gzip壓縮過的內核,再後面是一個ramdisk內存檔,然後緊跟著第二階段的載入器程序(這個載入器程序是可選的,在某些映像中或許沒有這部分)。此類文件的定義可以從源代碼android-src/system/core/mkbootimg找到一個叫做bootimg.h的文件。
/*
** +-----------------+
** | boot header | 1 page ** +-----------------+
** | kernel | n pages ** +-----------------+
** | ramdisk | m pages ** +-----------------+
** | second stage | o pages ** +-----------------+ **
** n = (kernel_size + page_size - 1) / page_size ** m = (ramdisk_size + page_size - 1) / page_size ** o = (second_size + page_size - 1) / page_size **
** 0. all entities are page_size aligned in flash ** 1. kernel and ramdisk are required (size != 0)
** 2. second is optional (second_size == 0 -> no second) ** 3. load each element (kernel, ramdisk, second) at ** the specified physical address (kernel_addr, etc) ** 4. prepare tags at tag_addr. kernel_args[] is ** appended to the kernel commandline in the tags. ** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr ** 6. if second_size != 0: jump to second_addr ** else: jump to kernel_addr */

ramdisk映像是一個最基礎的小型文件系統,它包括了初始化系統所需要的全部核心文件,例如:初始化init進程以及init.rc(可以用於設置很多系統的參數)等文件
看這里是不是顯得頭大呢,,,今天哥們分享的教程是比較簡單的,不需要認識這些東西是做什麼的,有什麼用,。只需要要一個簡單的工具就能實現你想要解包boot.img的問題。。。
下載一個ROM助手,網路搜索下就行,最好是官網下載,蘑菇論壇。
安裝並打開它,在主界面上你會找到「解包IMG」功能的按鈕,

點擊後把你的boot鏡像文件載入進去,等待幾分鍾,就能把boot的鏡像解開了 ,,上面提示打開文件夾,點擊之後,就能找到boot解開後的全部內容,在這里你想怎麼編輯就怎麼編輯。

看到木有boot解包就是這么簡單,其實ROM助手還可以解包recovery 、userdara等鏡像文件。只要用了就看到,步驟和上面的操作時一樣的 。

K!好了,修改大家就自己去奮斗吧,其實說實話,安卓本來基於LINUX就是在那系統下玩的,用WINDOWS的就比較吃虧了。。截止目前ROM助手還沒有打包功能,相信他們開發團隊很快就能完善這項功能的說。我這里根據我的經驗來分享下如何打包boot鏡像文件,這里需要用命令
開始-運行-cmdd:回車cd boot回車bootimg --repack-bootimg 0x200000 "mem=211M console=null androidboot.hardware=qcom" 2048 4096
出現「output boot.img」的字樣就顯示打包成功

到這里就完全打包解包無壓力了,額,recovery userdara 解包打包,就直接按照這個操作步驟即可完成。。。

D. 華為手機里china_numbir.img是什麼文件

親,這邊幫您反饋,有消息會及時通知的哦,請耐心等待下

E. 如何製作img文件,如何製作安卓img文件

步驟/方法

1.默認編譯完Android源代碼會自動生成固件img文件,但是如果自己修改了這些文件,想重新打包那麼就需要安裝mkyaffs2image這個工具,所以這里前面的幾個步驟先來說明下載和安裝這個工具

下面准備從源碼開始來編譯出mkyaffs2image這個工具

F. 華為手機照片編輯後怎麼保存

在市場當中,銷售頂尖的手機品牌有許多,首當其沖的便是 蘋果 、華為以及 小米 等品牌,這些品牌所製造的手機質量都非常好,因此才會受到許多人的褒獎。我們在使用華為手機的時候,可以用它拍自拍,也可以拍攝大好河山哦,在使用之餘,這些照片又將會存放在手機的哪個文件裡面呢?想必許多人在查找照片的時候都很苦惱,在這里小編將為大家介紹華為手機照片存放的位置。

華為手機照片在那個文件夾

1、拍好照片了,想導到電腦上去看,手機連接電腦後,打開內存卡,找到dcim文件夾,拍好的照片就在這個文件夾下的子文件夾camera中放著,復制出來即可。

2、手機截屏的各種圖片又在哪裡呢,同樣的找到coolpad文件夾,打開後找到screenshot文件夾,裡面就放著你的截屏圖片。

3、瀏覽網頁,微信等等保存的圖片又在哪裡呢,同樣的coolpad文件夾下有一個saved img文件夾,里頭就是圖片。

4、你通過藍牙從別人那導入的圖片又在哪呢,找到bluetooth文件夾,所有通過藍牙傳的文件都在這里放著。

5、內存卡里有一個pictures的文件夾,里頭什麼東西都沒有,如果你想放照片到手機上就放到這個文件夾下吧,到時候好找。

華為手機格機

1、想要為這款手機進行格機處理,首先要將手機關機,然後按下開機鍵(時間為一秒左右),點擊音量的上鍵與開機鍵(同時進行)。

2、這個時候,音量的上鍵與下鍵可以起到移動的作用。我們選擇「wipe data/factory reset」這個選項,然後點擊華為手機的開機鍵(開機鍵同等於確認)。

3、幾分鍾之後,手機內部的數據就會被刪除,一切系統回到手機的初始界面。

4、使用音量的上下鍵選擇「reboot system now」,點擊開機鍵確認。

5、重啟手機。

6、手機再打開之後,就已經成功格機了。

小貼士

1、格機的過程中,手機內部的消息會被全部刪除,最好提前將重要的資料保存到其它的地方。等到手機格機之後,再將資料轉移回來。

2、如果手機失敗,盡可能將手機送到售後部 門 維修,千萬不要耽擱時間。

3、手機在格機之後,停一段時間再去使用會更好。

華為手機相片存放的地方是非常容易找到的,因此切勿擔心。華為手機最大的特點便是具有美顏功能,常見的華為手機前置攝像頭大多為五百萬像素以及八百萬像素,這種像素足以與一部分相機媲美了。愛美的女性使用華為相機自拍過後,從文件夾中找到自拍的相片,點擊「編輯」選項,還能夠進行美化呢。在美化照片過後,大家便可以將這些照片發到朋友圈啦。

G. Android系統編譯完成生產哪些文件

是做好之後要公開的時候嗎?一個署名文件(如果署名了的話)和一個公開用的apk文件

H. 如何編譯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緩存大小

I. 安卓手機刷機界面image 文件夾什麼意思 裡面的文件都是什麼作用

image文件夾是用來存放android啟動引導 boot.img 。

boot.img鏡像不是普通意義上的文件系統,而是一種特殊的Android定製格式,由boot header,壓縮的內核,ramdisk以及second stage loader(可選)組成,可以從mkbootimg.h文件中看到。

介紹一下boot.img文件的作用及修改方式:

  1. boot.img我們通常稱之為「內核」,屬於系統底層文件,它包含了手機系統軟體和硬體相連接的一個渠道,這里包含了相機、cpu、gpu等驅動。

  2. 一般來說官方提供的內核相對於第三方的內核是相對穩定的,如果我們發現刷機包里沒有boot.img文件,那麼刷機完成後系統會使用刷機之前系統的內核,也就是內核保持不便,一般來說內核的升級才是系統真正的升級;內核文件記錄了一些系統底層的核心功能和連接硬體驅動的作用,內核的優化能夠給系統帶來質的飛躍。

  3. 就比如HTC M8目前已經升級到了Android 5.0系統,那麼我們刷入4.4版本的boot.img會有什麼樣的後果呢?一般來說這樣跨版本刷boot.img會導致無法開的情況,對於大版本之間的升級綠茶強烈建議不要隨意刷boot.img文件,boot.img文件不僅僅是和機型相對於的,而且和版本也相對應,綠茶就見過有新手朋友隨意亂刷boot.img文件,導致手機無法開機的情況。

boot.img文件是可以修改的,建議在Linux環境下修改,當然也可以使用Windows系統來解壓,簡單的修改一些參數,但是要做到真正的代碼優化,建議還是在Linux環境下進行。

閱讀全文

與華為手機編譯後生成哪些img相關的資料

熱點內容
數據挖掘中誤差值演算法函數 瀏覽:118
php開發套件 瀏覽:190
伺服器的spi板是什麼 瀏覽:896
解壓縮全能王中文密碼是什麼 瀏覽:80
javaftp伺服器上傳文件 瀏覽:103
演算法設計中文版pdf 瀏覽:81
視頻壓縮形式怎麼改 瀏覽:368
perl程序員 瀏覽:789
電子表格對比命令 瀏覽:610
php循環輸出數組內容 瀏覽:750
電腦加密能不能強制關掉 瀏覽:616
趣味單人解壓桌游 瀏覽:212
oppo手機谷歌伺服器無法核實什麼 瀏覽:320
軟體怎麼加密華為 瀏覽:222
掃地機怎麼安裝app 瀏覽:319
考研結合特徵值計演算法 瀏覽:516
操作系統演算法綜合題 瀏覽:152
華為程序員待遇 瀏覽:547
程序員帶娃的圖片 瀏覽:79
迷你雲伺服器怎麼下載 瀏覽:815