基于 cm-11 源码编译模拟器

以前对于cm的源码编译都是基于固定机型的,有的时候需要使用模拟器,这边就记录一下使用cm的源码来如何编译android 模拟器,不过在做这件事情前你最好评估一下自己的机器配置。这里给出的推荐的配置是,i5以上的cpu,硬盘要固态硬盘,否则模拟器的启动和加载的速度几乎不可以忍受。

android源码编译完成以后生成的目录都是在源码目录下的out文件夹下

out/target 表示生成的是目标机器一般是手机上的各种程序,比如rom等

out/host   表示生成的是对于宿主机器上的各种工具,比如adb aapt dexdump等这些工具以及一些库文件

我们这里主要关心 out/target 下面生成的文件,在cm源码中经过不同的配置对于不同的机型 target下有相应的目录,比如 前面提到的maguro,crespo等,这里对于模拟器对应的目录是 generic 这个目录。

而对于android模拟器需要启动的最基本的几个文件如下:

1 kernel文件  内核文件,包括bootloader,开机动画等,android模拟器使用的goldfish内核,需要到githup下载基于cm 11.0的goldfish linux内核。

2 system.img  挂载 system目录的镜像
3 ramdisk.img   挂载磁盘的镜像
4 userdata.img  挂载用户数据的镜像

有了前面的介绍以后,我们开始进行基于cm 11.0源码的模拟器编译。

一 前置条件

1 下载一套完整的 cm 11.0源码,下载地址和过程见前面的博文

2 下载配套的goldfish 内核代码
  这里下载的地址是
  https://github.com/CyanogenMod/android_kernel_goldfish/tree/cm-11.0
  下载完成以后,将代码解压缩在 kernel/goldfish 即可

二 编译
进入源码目录
1  . build/envsetup.sh
2  lunch
   找到 cm_goldfish-eng

Which would you like? [aosp_arm-eng]
   填入 cm_goldfish-eng 前面的数字,完成配置

3 make -j4

经过漫长的编译,在 out/target/product/generic 目录下生成了各种img文件,如下图

3 运行模拟器
emulator -kernel /DiskCM11/cm-11/out/target/product/generic/kernel -data /DiskCM11/cm-11/out/target/product/generic/userdata.img  -system /DiskCM11/cm-11/out/target/product/generic/system.img  -ramdisk /DiskCM11/cm-11/out/target/product/generic/ramdisk.img

这个命令就可以将模拟器给运行起来了,但是如果硬盘和电脑不给力的话,模拟器的速度实在不敢恭维。

基于 cm-11 源码编译模拟器

时间: 2024-10-28 03:20:01

基于 cm-11 源码编译模拟器的相关文章

mysql5.7.11 源码编译安装 (Red hat linux 6.5 )

mysql5.7.11 源码编译安装 (Red hat linux 6.5 ) 一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带mysql, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql    //查看系统自带mysql yum -y remove mysql-*   //卸载mysql rpm -e –nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql 1.2 卸载系统自带b

dubbo2.4.11源码编译

本文以dubbo2.4.11源码编译和打包例 dubbo官网:http://dubbo.io/ 源码:https://github.com/alibaba/dubbo 用户指南:http://dubbo.io/User+Guide-zh.htm 开发指南:http://dubbo.io/Developer+Guide-zh.htm 按官方说明2.4.X是GA稳定版本,去https://github.com/alibaba/dubbo/releases下载最新的2.4.11 解压到D:\proje

CentOS7.4 源码编译安装LNMP

1.基于CentOS7.4源码编译安装得lnmp 系统环境CentOS 7.4 系统最小化安装,只安装了一些常用包(vim.lirzs.gcc*.wget.bash-completion) nginx版本1.14.0 mysql版本5.7.20 php版本7.2.6 1.1 下载网络yum源 [[email protected]_4 ~]# wget http://mirrors.aliyun.com/repo/Centos-7.repo -P /etc/yum.repos.d/    #这里安

android 源码编译及其运行模拟器相关问题记录

最近一直在看android源码相关的文档,包括编译源码,还有framework层的代码,本人很懒,一直没有写博客,今天想自己在编译一下源码,并且运行在模拟器中. 源码的版本不同,需要的jdk可能也有所不同,一切都参照官方给与的文档,下载源码的方法也参考官方文档. 注意点:1.环境变量要设置正确,不要出现错误 2.基本没有一次就能顺利编译源码的,多少都会出错,根据提示修改错误,安装一些包和库就可以搞定,具体问题具体查找,我遇到的问题也可多了,都是按官方文档解决的.有些问题可能和你的编译环境相关,这

基于源码编译安装openssh

 最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工具,主要包括了几个部份:ssh.sshd.scp.sftp.ssh-keygen.ssh-agent.ssh-add等 ssh(SSH 客户端,用于登录建立连接,是 rlogin 与 Telnet的安全替代方案)sshd (SSH 服务端,典型的独立守护进程)scp.sftp (文件安全传输工具,r

基于Hi3716cV200的Android源码编译问题---fastboot-burn.bin

在编译源码时有时会报与"fastboot-burn.bin"有关的错误. 解决办法如下: 进入device/hisilicon/bigfish/sdk目录,一次执行 make hiboot_clean; make hiboot_install. 如果在这个过程中报弄cfg.mak文件的错误,解决办法之一是在Android源码根目录进行一次完整编译,直到出错停止,此时会生成cfg.mak文件:解决方法之二是从sdk/configs拷贝单板配置文件到sdk目录并改名为cfg.mak. ==

源码编译安装LAMP环境及配置基于域名访问的多虚拟主机

实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本:    php-5.3.27 一.关闭防火墙:service iptables stop chkconfig iptables off 二.关闭selinux: sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config

nginx1.11.9 apt即源码编译各平台测试

测试系统:ubuntu16.04 server,debian8.7 netinstall,centos7 mini. 系统配置:使用virtualbox安装,内存1G,cpu单核,物理CPU  i5-4460 3.20GHz 测试目标:源码编译nginx-1.11.9,源码编译openresty/1.11.2.2,ubuntu apt nginx-1.10,debian apt nginx-1.6 测试工具:ab 2.3 测试方法:安装完成后,使用index.html内容为"helloworld

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装 扩展 mysql5.5源码编译安装

11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装   http://www.aminglinux.com/bbs/thread-1059-1-1.html mysql5.7二进制包安装(变化较大)  http://www.apelearn.com/bbs/thread-10105-1-1.html =====================================================