国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Android模擬器中安裝busybox的最簡方法
Android自帶的命令集相對于busybox還是簡陋很多。為了提高開發(fā)效率,在模擬器中安裝busybox是個不錯的選擇。

網(wǎng)絡(luò)上已經(jīng)有兩種安裝busybox的攻略:

本文將記錄了通過apk包安裝busybox的方法。
  1. 下載apk包及相關(guān)工具
    安裝busybox需要超級用戶權(quán)限,在http://androidsu.com/superuser/下載su可執(zhí)行文件和Superuser.apk包文件。
    下載用于生成Yaffs2的工具,http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.arm
    下載busybox的安裝APK包,https://market.android.com/details?id=stericson.busybox
  2. 開啟終端,輸入如下命令啟動Android模擬器
    1. $ emulator-arm -avd google_v7 -partition-size 256 &
    注意:一定要添加參數(shù)partition-size來指定system分區(qū)的大小。如果不指定system分區(qū)大小,系統(tǒng)將以sdk/platforms/android-7/images/system.img文件的大小來掛載分區(qū)

    如上圖所示,system分區(qū)的可用空間為0kb,如果向system分區(qū)拷貝文件,將會得到如下出錯信息:
    failed to copy 'su' to '/system/bin/su': Out of memory
  3. 安裝busybox
    1. $ adb install BusyBox_installer.apk
    2. 2239 KB/s (4723603 bytes in 2.059s)
    3. pkg: /data/local/tmp/BusyBox_installer.apk
    4. Success
    5. $ adb shell
    6. # ls /data/app/
    7. stericson.busybox.apk
    安裝成功后,你可以在模擬器中運行Busybox Installer,但是由于沒有授予它超級用戶的權(quán)限,會彈出對話框提示安裝失?。?br>
  4. 安裝superuser包和su工具
    首先,拷貝下載的可執(zhí)行文件su到system分區(qū)
    1. $ adb push su /system/bin
    2. 542 KB/s (22364 bytes in 0.040s)
    注意:在拷貝之前,需要以讀寫權(quán)限重新掛載system分區(qū)
    1. $ adb remount
    2. remount succeeded
    否則在向system拷貝文件時,系統(tǒng)會提示如下錯誤
    failed to copy 'su' to '/system/bin/su': Read-only file system
    然后,賦予su正確的權(quán)限
    1. # chmod 4755 /system/bin/su
    2. # ls -l /system/bin/su
    3. -rwsr-xr-x root root 22364 2008-02-29 02:33 su
    最后,安裝superuser包
    1. $ adb install Superuser.apk
    2. 2251 KB/s (843503 bytes in 0.365s)
    3. pkg: /data/local/tmp/Superuser.apk
    4. Success
    5. $ adb shell
    6. # ls /data/app
    7. com.noshufou.android.su.apk
  5. 在模擬器中運行Busybox Installer,完成busybox的安裝
    首先,會彈出超級用戶授予的提示對話框,毫無疑問選擇'Allow'

    接著,提示選擇需要安裝Busybox的版本,選完點擊繼續(xù)

    然后,選擇Busybox的安裝目錄

    最后,選擇,完成安裝

    安裝完畢后,可以通過shell驗證busybox安裝后的效果,我們熟悉的shell又回來了

  6. 由于前面修改了system.img的內(nèi)容,這部分修改在模擬器關(guān)閉后,并不會主動寫回到system.img上,所以,一旦模擬器關(guān)閉,之前做的修改全部功虧一簣。但是,可以通過工具mkfs生成我們自己的system鏡像。
    1. $ adb push mkfs.yaffs2.arm /data/misc
    2. 1832 KB/s (463072 bytes in 0.246s)

    3. ~$ adb shell
    4. # cd /data/misc
    5. # ./mkfs.yaffs2.arm /system /data/misc/my_system.img
    6. mkfs.yaffs2: Android YAFFS2 Tool,Build by PowerGUI
    7. at http://www.openhandsetalliance.org.cn
    8. Building...
    9. Build Ok.
    10. # ls -l my_system.img
    11. -rw------- root root 81935040 2012-01-04 16:00 my_system.img
    12. # exit

    13. ~$ adb pull /data/misc/my_system.img .
    14. 3165 KB/s (81935040 bytes in 25.274s)
    然后,關(guān)閉模擬器,將生成的my_system.img拷貝到sdk/platforms/android-7/images目錄下替換system.img,重啟模擬器。
  7. 不爽的是,每次都要在命令前,加上busybox,這是由于shell在查找命令時,按照PATH變量的順序來查找,目前的順序依次是/sbin、/system/sbin、/system/bin、/system/xbin,顯而易見,busybox的命令最后被找到,所以可以把/system/xbin放到PATH變量的第一位解決這個問題。
    可是,PATH變量是在/init.rc中定義,而根目錄是只讀的rootfs文件系統(tǒng),可以通過如下命令查看
    1. $ adb shell
    2. # mount
    3. rootfs / rootfs ro 0 0
    4. tmpfs /dev tmpfs rw,mode=755 0 0
    5. devpts /dev/pts devpts rw,mode=600 0 0
    6. proc /proc proc rw 0 0
    7. sysfs /sys sysfs rw 0 0
    8. tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
    9. none /dev/cpuctl cgroup rw,cpu 0 0
    10. /dev/block/mtdblock0 /system yaffs2 ro 0 0
    11. /dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
    12. /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
    13. /dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
    將sdk/platforms/android-7/images目錄下的ramdisk.img改名為ramdisk.img.gz,并用gunzip解壓。
    1. $ file ramdisk.img
    2. ramdisk.img: gzip compressed data, from Unix
    3. $ mv ramdisk.img ramdisk.img.gz
    4. $ gunzip ramdisk.img.gz
    檢查解壓后的文件,發(fā)現(xiàn)其文件格式已經(jīng)變成cpio格式。新建臨時文件夾my_ramdisk,并將ramdisk.img備份文件還原到my_ramdisk目錄中
    1. $ file ramdisk.img
    2. ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
    3. $ mkdir my_ramdisk
    4. $ cd my_ramdisk
    5. $ cpio -i -F ../ramdisk.img
    6. $ ls
    7. total 148
    8. drwxrwx--x 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 data
    9. -rw-r--r-- 1 liuyuyu liuyuyu 118 2012-01-04 16:55 default.prop
    10. drwxr-xr-x 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 dev
    11. -rwxr-x--- 1 liuyuyu liuyuyu 103092 2012-01-04 16:55 init
    12. -rwxr-x--- 1 liuyuyu liuyuyu 1677 2012-01-04 16:55 init.goldfish.rc
    13. -rwxr-x--- 1 liuyuyu liuyuyu 12215 2012-01-04 16:55 init.rc
    14. drwxr-xr-x 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 proc
    15. drwxr-x--- 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 sbin
    16. drwxr-xr-x 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 sys
    17. drwxr-xr-x 2 liuyuyu liuyuyu 4096 2012-01-04 16:55 system
    然后,修改init.rc文件,將/system/xbin/移到PATH變量定義的最前面
    1. export PATH /system/xbin:/sbin:/system/sbin:/system/bin
    重新打包ramdisk
    1. $ cpio -i -t -F ../ramdisk.img > list
    2. $ cpio -o -H newc -O my_ramdisk.img <>
    最后,將my_ramdisk.img替換sdk/platforms/android-7/images/目錄下的ramdisk.img,重啟模擬器,就可以體驗busybox帶給我們的方便了。。。。。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
關(guān)于android的各種disk images
對Android啟動過程的進一步研究
制作可獨立分發(fā)的Android模擬器
Android SDK ? 王達峰的博客 - 計算機技術(shù),網(wǎng)絡(luò)應(yīng)用和產(chǎn)業(yè)化
android boot.img 拆包,修改adb 具有root權(quán)限,以i9250為例
android img extract
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服