去年双十一换的新电脑,华硕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虚拟机飞起来吧!

linux下不是很完美的提高android虚拟机的启动速度的更多相关文章

  1. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】

    转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...

  2. 优化Linux下的内核TCP参数以提高系统性能

    内核的优化跟服务器的优化一样,应本着稳定安全的原则.下面以64位的Centos5.5下的Squid服务器为例来说明,待客户端与服务器端建立 TCP/IP连接后就会关闭SOCKET,服务器端连接的端口状 ...

  3. 优化Linux下的内核TCP参数来提高服务器负载能力

    http://blog.renhao.org/2010/07/setup-linux-kernel-tcp-settings/ /proc/sys/net目录 所有的TCP/IP参数都位于/proc/ ...

  4. linux下tomcat启动很慢的解决办法

    1.用vim编辑器打开tomcat的bin目录下的catalina.sh [root@iz09a32x1sghz3z bin]# vi /usr/local/src/java/tomcats/tomc ...

  5. linux下编译支持opencl的opencv for android

    主要的步骤其他人已经写过,请参考这篇:https://www.cnblogs.com/hrlnw/p/4720977.html 操作的细节请参考附件的pdf:  https://files.cnblo ...

  6. windows党码农在linux下你最需要的软件列表TOP10

    NO 10.QQ 神奇的TX,经常更新接口,使得linux社区的模仿软件总是跟不上步伐,一整就不能登陆使用.可是老大,您怎么自从2009-01-04发布了第一版QQ for Linux 1.0 Bet ...

  7. Linux下磁盘分区挂载

    一般你去买vps都会看到介绍说硬盘多少G  比如 80G 但是你进入系统df -h的时候发现怎么只有10G呢, 其实这10G是用来装系统的和一些常用服务软件的  不是给你放网站数据的 那50G硬盘在哪 ...

  8. Linux下clock计时函数学习【转】

    转自:https://www.cnblogs.com/wfwenchao/p/5195022.html 平时在Linux和Winows下都有编码的时候,移植代码的时候免不了发现一些问题.1. 你到底准 ...

  9. linux下安装python,Django,虚拟环境

    linux下python安装步骤: 1.下载python3源码包 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.7.tgz 2.下载p ...

随机推荐

  1. PHP添加扩展模块的方法

    进入源码包对应扩展模块目录下 ##extname 代表扩展模块名 cd /usr/local/src/php-5.5.36/ext/extname 然后执行phpize##phpize是一个shell ...

  2. mybatis的优缺点及应用场合

    mybatis框架的优点 与jdbc相比,减少了50%以上的代码量 mybatis是最简单的持久化框架,小巧简单且易学 mybatis想到灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写 ...

  3. 初识Java之入门学习(扫盲)

    一,开发环境的配置 1. jdk1.8的安装 2. 环境变量的配置 3.MyEclipse8.5的安装 jdk是什么: JDK 是Java开发工具包 (Java Development Kit ) 的 ...

  4. jvm探秘之三:GC初步

    GC即垃圾收集器,虚拟机的必要组成部分. 不过这里说当然是,hotspot虚拟机(jvm的主要版本)的GC机制,前面说过了jvm的组成部分,那么想当然GC只需要负责方法区和堆就好了,虚拟机栈.本地方法 ...

  5. Centos7和Centos6防火墙开放端口配置方法(避坑教学)

    ▲这篇文章主要为大家详细介绍了Centos7防火墙开放端口的快速方法,感兴趣的小伙伴们可以参考一下! 一.CentOS 7快速开放端口: CentOS升级到7之后,发现无法使用iptables控制Li ...

  6. Redis实现之字符串

    简单动态字符串 Redis中的字符串并不是传统的C语言字符串(即字符数组,以下简称C字符串),而是自己构建了一种简单动态字符串(simple dynamic string,SDS),并将SDS作为Re ...

  7. 【面试】一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生

    曾经的VIP服务 在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单. 其实代码实现大家都知道,就是服务器上有个ServerSoc ...

  8. loj2055 「TJOI / HEOI2016」排序

    ref #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...

  9. Python框架之Django学习笔记(七)

    标签 eif/else {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% endif %} 之间的 ...

  10. 使用 SpiritManager 类管理在 XNA 游戏中的精灵(十四)

    平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...