linux下不是很完美的提高android虛擬機器的啟動速度__linux

來源:互聯網
上載者:User

去年雙十一換的新電腦,華碩vivo4000的,配置的不算很好,4k的螢幕:3840×2160, 940M的顯卡, core i7的CPU, 8G的記憶體,硬碟是1T的機械硬碟,除了硬碟基本感覺還可以吧。系統是win10 home版本的,有點不爽,後來自己重新分配硬碟分區後,安裝了我最愛的manjaro linux,幾乎天天更新。linux下使用比window10爽的不是一點。哈哈。好了,開始切入正體了:

(1)core i7支援vt技術了,網上很多教程是window下安裝HAXM驅動,後來到intel官網,發現有window版本的,mac版本的,恰恰缺少linux的,linux已經預設啟用了

(2)經過n多次驗證,發現是虛擬機器啟動的時候會在/home/×××××/.android/avd/(虛擬機器目錄下)建立一個目錄,名稱是metrics,如果沒有這個目錄及其目錄中的檔案,啟動正常

(3)我的解決辦法是每次啟動虛擬機器前將該目錄刪除後,再啟動虛擬機器。速度很快,快到不到20s啟動就完成了。

(4)這種解決辦法有個缺點就是每次要刪除一個目錄,再到android/tools/目錄下啟動android虛擬機器,我的解決辦法是將android/tools/的目錄添加到/etc/profile檔案中,因此檔案內容如下:PATH=".:/usr/local/sbin:/usr/local/bin:/usr/bin:/home/michelle/WORKM/ANDROID_SDK/tools/",注意最前邊有個"."目錄就是指目前的目錄的意思。使用命令:emulator64-x86 -avd NBAndroidVM -qemu -m 2047 -enable-kvm,這個命令複雜些,挨個說說:emulator64-x86啟動虛擬機器的命令  -avd NBAndroidVM 選項後加上虛擬機器的名稱  -qemu  啟動加速 -m 2047 指定記憶體為2047,不能設定為2048,否則會無法啟動 -enable-kvm 最後的這個是使用linux的虛擬技術,後來乾脆一鼓作氣:寫了個指令碼,內容如下:

#!/bin/bash
rm -rf /home/michelle/.android/avd/metrics/
echo "刪除目錄成功"
emulator64-x86 -avd NBAndroidVM -qemu -m 2047 -enable-kvm

可以將以上的4行內容儲存在startavd.sh的指令檔中,chmod +x startavd.sh,將指令碼加上可執行屬性,以後就可以雙擊指令碼啟動虛擬機器,或者使用sh startavd.sh啟動虛擬機器了

(5)為了穩妥期間,登出下,就可以享受飛一般的感覺了。

我的虛擬機器組態檔:config.ini

avd.ini.encoding=UTF-8                              //編碼
abi.type=x86                                               //虛擬機器類型
disk.dataPartition.size=2048M                   //分區大小
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.camera.back=none
hw.camera.front=none
hw.cpu.arch=x86                                        //CPU架構
hw.dPad=yes                                             //啟用方向鍵,上下左右中等
hw.device.hash2=MD5:6930e145748b87e87d3f40cabd140a41
hw.device.manufacturer=Google
hw.device.name=Nexus 4                         //虛擬機器名稱
hw.gps=yes
hw.keyboard=yes                                      //包含電源鍵的一行按鍵,三個
hw.lcd.density=320
hw.mainKeys=yes                                     //包含首頁鍵的一行按鍵
hw.ramSize=2048                                     //虛擬機器記憶體
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.trackBall=no
image.sysdir.1=system-images/android-19/default/x86/
sdcard.size=1024M
skin.dynamic=yes
skin.name=768x1280
skin.path=768x1280
tag.display=Default
tag.id=default
vm.heapSize=64

hardware-qemu.ini內容如下

hw.cpu.arch = x86
hw.cpu.model = qemu32
hw.ramSize = 2048
hw.screen = touch
hw.mainKeys = yes
hw.trackBall = no
hw.keyboard = yes
hw.keyboard.lid = no
hw.keyboard.charmap = qwerty2
hw.dPad = yes
hw.gsmModem = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.audioInput = yes
hw.audioOutput = yes
hw.sdCard = yes
hw.sdCard.path = /home/michelle/.android/avd/NBAndroidVM.avd/sdcard.img
disk.cachePartition = yes
disk.cachePartition.path = /home/michelle/.android/avd/NBAndroidVM.avd/cache.img
disk.cachePartition.size = 66m
hw.lcd.width = 768
hw.lcd.height = 1280
hw.lcd.depth = 16
hw.lcd.density = 320
hw.lcd.backlight = yes
hw.gpu.enabled = no
hw.initialOrientation = portrait
hw.camera.back = none
hw.camera.front = none
vm.heapSize = 64
hw.sensors.proximity = yes
hw.sensors.magnetic_field = yes
hw.sensors.orientation = yes
hw.sensors.temperature = yes
hw.useext4 = yes
kernel.path = /home/michelle/WORKM/ANDROID_SDK/system-images/android-19/default/x86//kernel-qemu
kernel.parameters =  androidboot.hardware=goldfish clocksource=pit android.checkjni=1
kernel.newDeviceNaming = no
kernel.supportsYaffs2 = yes
disk.ramdisk.path = /home/michelle/WORKM/ANDROID_SDK/system-images/android-19/default/x86//ramdisk.img
disk.systemPartition.initPath = /home/michelle/WORKM/ANDROID_SDK/system-images/android-19/default/x86//system.img
disk.systemPartition.size = 550m
disk.dataPartition.path = /home/michelle/.android/avd/NBAndroidVM.avd/userdata-qemu.img
disk.dataPartition.size = 2g
avd.name = NBAndroidVM
請大家酌情修改,讓自己的android虛擬機器飛起來吧。


       


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.