欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
android文件系統制作教程

android文件系統制作教程

文章分類(lèi):移動(dòng)開(kāi)發(fā)

android文件系統制作教程(1) —- 認識android文件系統分區

 

 

splash1 :開(kāi)機畫(huà)面,Nandroid備份為splash1.img
recovery :設備序列號為mtd1,該分區是恢復模式(即開(kāi)機按Home+End進(jìn)入的界面),Nandroid備份為recovery.img
boot :設備序列號為mtd2,底層操作系統內核啟動(dòng)分區,掛載 為/目錄,Nandroid備份為boot.img
system :設備序列號為mtd3,G1的Android核心平臺,掛 載為/system目錄,通常為只讀,Nandroid備份為system.img
cache :設備序列號為mtd4,G1的緩存臨時(shí)文件夾,掛載為 /cache目錄,事實(shí)上除了T-mobile的OTA更新外,別無(wú)用處,Nandroid備份為cache.img
userdata :設備序列號為mtd5,G1中用戶(hù)安裝的軟件以及各種 數據,掛載為/data目錄,Nandroid備份為data.img

 

android文件系統制作教程(2) —- 常用的fastboot命令

  • 重啟G1:
    $ fastboot reboot
  • 刷所有分區并重啟手機
    $ fastboot flashall
  • 刷指定分區:
    $ fastboot flash {partition} {file.img}
    如:fastboot flash system /備份/system.img
  • 擦除分區:
    $ fastboot erase {partition}
    如:fastboot erase system
  • 使用update.zip整體刷新
    $ fastboot update {update.zip}
  • 刷自定義開(kāi)機畫(huà)面:
    $ fasboot flash splash1 mysplash.rgb565
  • android文件系統制作教程(3) —- 利用Makefile制作update.zip

    從update.zip這個(gè)刷機包反推的介紹整個(gè)android文件系統的制作過(guò)程

    并編寫(xiě)了一個(gè)Makefile文件,利用 Makefile的”依賴(lài)檢查”機制管理各種文件的生成步驟和依賴(lài)關(guān)系;

    -1.前期準備

    將所有的文件都放在/home/xiaoliang/workspace 目錄下,目錄下有這些文件夾:

    auto-sign data system META-INF root

    兩個(gè)環(huán)境變量含義和必須的目錄:

    SRC_HOME : android源代碼所在的目錄,例如我放在 /home/xiaoliang/android_src 下

    JAVA_HOME: JAVA SDK的目錄,我的是 /server/jdk1.5.0_21

    0.進(jìn)行一次源代碼編譯

     

    1.然后看下面的Makefile

    #設置環(huán)境變量,JAVA_HOME默認就有
    SRC_HOME=/home/liangwei/android_src
      
    #它依賴(lài)于system,data,META-INF三個(gè)目錄和一個(gè)boot.img鏡像,并且它需要簽名
    update.zip : boot.img $(shell find system data META-INF)
        #生成update_unsign.zip
        zip -qr update_unsign.zip system data META-INF boot.img
        #簽名
        $(JAVA_HOME)/bin/java -jar auto-sign/signapk.jar auto-sign/testkey.x509.pem auto-sign/testkey.pk8 update_unsign.zip update.zip
        #刪除中間文件
        rm -f update_unsign.zip
      
    #依賴(lài)于ramdisk.img 和 kernel.img 兩個(gè)鏡像
    boot.img:ramdisk.img kernel.img
        #使用mkbootimg制作
        $(SRC_HOME)/out/host/linux-x86/bin/mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel kernel.img --ramdisk ramdisk.img -o boot.img
      
    #其實(shí)它就是源碼編譯后生成的zImage,拷貝過(guò)來(lái)改個(gè)名字
    kernel.img:$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage
        cp -f $(SRC_HOME)/kernel/msm/arch/arm/boot/zImage ./kernel.img
      
    #是將root文件夾使用mkbootfs制作的鏡像
    ramdisk.img:$(shell find root)
        $(SRC_HOME)/out/host/linux-x86/bin/mkbootfs ./root |gzip > ramdisk.img

    2.總結一下,其實(shí)update.zip主要就是三個(gè)部分組成:

    啟動(dòng)部分: root文件夾 + zImage內核鏡像 = boot.img
    系統文件部分: system文件夾
    用戶(hù)文件部分: data文件夾

    就是:root + system + data + zIamage = update.zip

    3.文件的出處

    root,system,data文件夾: 來(lái)自”$(SRC_HOME)/out/target/product/generic”
    zIamage: 來(lái)自”$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage”

    4.刷機腳本:META-INF文件夾

    該需要自己創(chuàng )建,并且里面包含1個(gè)文件 : com/google/android/update-script ,內容為:

    show_progress 0.500000 0
    format SYSTEM:
    copy_dir PACKAGE:system SYSTEM:
    set_perm_recursive 0 0 0755 0644 SYSTEM:
    set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
    set_perm 0 3003 02755 SYSTEM:bin/netcfg
    set_perm 0 3004 02755 SYSTEM:bin/ping
    set_perm 0 0 04755 SYSTEM:bin/su
    set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf
    set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks
    set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh
    set_perm_recursive 0 0 0755 0555 SYSTEM:etc/ppp
    show_progress 0.200000 0
    delete_recursive DATA:dalvik-cache
    copy_dir PACKAGE:data DATA:
    set_perm_recursive 1000 1000 0771 0555 DATA:dalvik-cache
    write_raw_image PACKAGE:boot.img BOOT:
    show_progress 0.200000 10

     

    android文件系統制作教程(4) —- makefile腳本,制作各種單獨的分區文件ramdisk.img,system.img,boot.img

    #***********************************
    #    build android rom script
    #***********************************
    SRC_HOME=/home/liangwei/android_src
      
    update.zip : boot.img $(shell find system data META-INF)
        rm -rf update_unsign.zip
        zip -qr update_unsign.zip system data META-INF boot.img
        $(JAVA_HOME)/bin/java -jar auto-sign/signapk.jar auto-sign/testkey.x509.pem auto-sign/testkey.pk8 update_unsign.zip update.zip
        rm -f update_unsign.zip
      
    boot.img:ramdisk.img kernel.img
        $(SRC_HOME)/out/host/linux-x86/bin/mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel kernel.img --ramdisk ramdisk.img -o boot.img
      
    kernel.img:$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage
        cp -f $(SRC_HOME)/kernel/msm/arch/arm/boot/zImage ./kernel.img
      
    kernel-qemu:$(SRC_HOME)/kernel/common/arch/arm/boot/zImage
        cp -f $(SRC_HOME)/kernel/common/arch/arm/boot/zImage ./kernel-qemu
      
    ramdisk.img:$(shell find root)
        $(SRC_HOME)/out/host/linux-x86/bin/mkbootfs ./root |gzip > ramdisk.img
      
    system.img : $(shell find system)
        $(SRC_HOME)/out/host/linux-x86/bin/mkyaffs2image ./system system.img
      
    userdata.img:$(shell find data)
        $(SRC_HOME)/out/host/linux-x86/bin/mkyaffs2image ./data userdata.img
      
    userdata-qemu.img:userdata.img
        rm -rf userdata-qemu.img
        cp userdata.img userdata-qemu.img

    initlogo.rle:logo.png
        convert -depth 8 logo.png rgb:logo.raw
        $(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle
        cp -rf initlogo.rle data/data/com.android.mysplash/
        rm -rf logo.raw
      
    .PHONY:run
    run:system.img ramdisk.img kernel-qemu userdata-qemu.img
        /server/android-sdk-linux_86/tools/emulator -show-kernel -sysdir ./

     

    android文件系統制作教程(5) —- 兩行命令從png制作啟動(dòng)界面initlogo.rle

    用圖片工具編輯好想要的png之后,保存為logo.png

    在logo.png所在命令下執行命令:

    #使用ImageMagick自帶的convert命令,進(jìn)行raw格式轉換
    convert -depth 8 logo.png rgb:logo.raw
      
    #android自帶的rgb2565工具,對raw文件進(jìn)行rle565格式轉換
    $(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle
      
    #然后將initlogo.rle拷貝到android系統根目錄,也就是root目錄底下
    cp initlogo.rle root/
      
    #刪除中間文件
    rm -f logo.raw

    本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
    打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
    猜你喜歡
    類(lèi)似文章
    android boot.img 拆包,修改adb 具有root權限,以i9250為例
    Recovery相關(guān)原理分析
    Android Fastboot
    ramdisk.img及boot.img的生成過(guò)程
    zImage文件提取及逆向分析
    【讀書(shū)筆記】https://source.android.google.cn/devices/bootloader
    更多類(lèi)似文章 >>
    生活服務(wù)
    分享 收藏 導長(cháng)圖 關(guān)注 下載文章
    綁定賬號成功
    后續可登錄賬號暢享VIP特權!
    如果VIP功能使用有故障,
    可點(diǎn)擊這里聯(lián)系客服!

    聯(lián)系客服

    欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久