修改Android模擬器的system分區,以及加入SuperSU

來源:互聯網
上載者:User

標籤:android   blog   http   io   ar   for   檔案   資料   on   

 

http://www.claudxiao.net/2013/10/persistent-change-emulator-system-partition/

對Android的模擬器,如果要修改其system分區裡的檔案,除了remount之外,還需要對資料進行持久化——因為預設情況下emulator會以唯讀形式載入system.img,即便remount之後對其進行的修改也不會實際被儲存下來。

網路上提到多種解決這一持久化問題的方案。例如[1],將/system拷貝至清空後的/data分區,然後將相應的userdata-qemu.img改名為system.img;以及[2],對live的/system,通過yaffs工具將其dump為一個鏡像檔案。這些方法都比較複雜,下面介紹一種簡單的方法,來自[3]。

1. 建立一個AVD,在這個例子裡,我們用Android 4.2.2,命名為root。

2. 將SDK下這個系統的system.img檔案拷貝至AVD的目錄下一份,例如,在這裡:

$ cp adt-bundle-mac/sdk/system-images/android-17/armeabi-v7a/system.img ~/.android/avd/root.avd/

3. 手工指定掛載參數地啟動它:

$ emulator -avd root -qemu -nand system,size=0x1f400000,file=~/.android/avd/root.avd/system.img

其中,0x1f400000是指給/system分區500MB的空間。

4. 系統啟動後,adb remount一下,然後通過adb mount可以看到system分區已經變為rw了。

5. 現在可以對/system分區做希望的修改了。

6. 修改完成後,關掉模擬器。之後正常啟動即可:

$ emulator -avd root

之後如果再要對system做修改,重複第3-6步即可。

嗯,從AVD的名字大家已經可以看出來了,我是想在裡面加個root。方法是:

1. 下載Chainfire的SuperSU的UPDATE zip包[4],並解壓縮。

2. 在上述第5步,執行以下命令:

$ adb push arm/su /system/xbin/

$ adb chmod 06755 /system

$ adb chmod 06755 /system/xbin/su

$ adb install common/Superuser.apk

3. 在模擬器裡,進入SuperSu,會提示更新二進位檔案,選擇常規方法即可。

參考連結

[1] http://allencch.wordpress.com/2012/02/29/learn-to-root-android-using-emulator/

[2] http://blog.thecobraden.com/2012/06/making-persistent-changes-to-android.html

[3] http://stackoverflow.com/questions/15417105/forcing-the-android-emulator-to-store-changes-to-system

[4] http://download.chainfire.eu/supersu

修改Android模擬器的system分區,以及加入SuperSU

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.