android 源码编译 模拟器emulator启动
Android源代码编译成功之后,我们就可以运行它了。为了方便起见,我们使用Android模拟器emulator来运行编译出来的Android源代码。执行以下命令来启动Android模拟器:
~~~
USER@MACHINE:~/Android$ export PATH=$PATH:~/Android/out/host/linux-x86/bin
USER@MACHINE:~/Android$ export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic
USER@MACHINE:~/Android$ emulator
~~~
Android模拟器位于源代码根目录下的子目录out/host/linux-x86/bin中,因此,为了方便使用,我们把这个目录添加到环境变量PATH中。
启动Android模拟器需要四个文件,它们分别是zImage、system.img、userdata.img和ramdisk.img,其中,前面一个是Linux内核镜像文件,而后面三个是Android系统镜像文件。如果不带任何参数来运行emulator命令,那么Android模拟器默认使用的zImage文件是位于源代码根目录下的子目录out/host/linux-x86/bin中的kernel-qemu文件,而默认使用的system.img、userdata.img和ramdisk.img文件则位于ANDROID_PRODUCT_OUT目录中。ANDROID_PRODUCT_OUT是一个环境变量,我们将它的值设置为Android源代码编译结果输出目录;如果不设置ANDROID_PRODUCT_OUT环境变量,就需要指定上述四个文件来启动Android模拟器,如下所示:
~~~
USER@MACHINE:~/Android$ emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
~~~
android 源码编译 模拟器emulator启动相关推荐
- android 源码编译 模拟器emulator启动,Android 模拟器运行编译后的源码
下载Android源码以及如何编译,这里就不多介绍了,照着www.android.com给的步骤进行,主要介绍一下使用make命令编译好了源码之后,如何使用模拟器来运行生成的镜像之类的文件. 方式应该 ...
- android 源码编译 模拟器emulator启动,Android 源码 (AOSP) - 编译 ( 模拟器 )
前言 走到这一步, 我们终于可以启动一下模拟器玩玩了, 经过两天编译, 感觉什么都好,就是头冷. 在这里插入图片描述 开搞,开搞. AOSP系列 开搞 自己的配置 硬件 Mac mini (Late ...
- Android源码编译及启动模拟器
Android源码编译及启动模拟器 源码下载 (1)更改下载源 (2)安装源码下载工具 (3)下载源码 (4)安装环境依赖 源码编译 启动模拟器 源码下载 Ubuntu18.0 (1)更改下载源 源码 ...
- Android源码编译原生模拟器
Android源码编译原生模拟器 源代码下载 安装repo 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH 下载 Repo 工具 ...
- Android源码编译(基于Ubuntu18.0.4)
文章目录 一.环境搭建 硬件要求 软件要求 操作系统和 JDK 主要软件包 软件安装 Git安装 repo工具安装 安装 openJDK 8 其他依赖安装 二.源码下载 建立源码文件夹 初始化仓库 源 ...
- Android源码编译make的各类错误解决方案汇总
问题: You are attempting to build with the incorrect version of java. Your version is: java version & ...
- [Android Pro] Android源码编译之Nexus5真机编译
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1. 前言 在Android安全的研究工作中, ...
- Android 源码编译详解【合集篇】
Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...
- Android源码编译make的错误处理
https://www.linuxidc.com/Linux/2011-11/47411.htm Android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLAT ...
- linux系统编译时make出错,Android源码编译make的错误处理
Android编译版本:PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Linux yanggang 2.6.35-30-generic #61- ...
最新文章
- 计算机无法搜索程序,电脑搜索功能不能用的解决方法
- Quartz Java编程
- 6-搭建一个私有registry
- Java并发包JUC的Lock锁讲解
- 颠覆游戏开发,虚幻引擎 UE5 正式发布
- 计算机领域国际会议分类及排名
- 第四章 Python数据分析-描述性分析
- 申通完美支撑“双11”亿级包裹背后的云基础设施
- 真实可靠的Python清屏命令
- python属于哪种类型_下列哪种类型是Python的列表类型?
- molar mass
- 微信小程序简单留言板
- k图着色 局部搜索算法与模拟退火算法的python实现
- xdm俺来了、详解超市订单管理系统SSM版本
- Android 编程之第三方开发 MaoZhuaWeiBo微博开发示例-1
- azure linux 配置端口,快速入门 - 在 Azure 门户中创建 Linux VM - Azure Virtual Machines | Microsoft Docs...
- 排序算法之鸡尾酒排序
- uni-app 使用web的echarts画图表
- 5.4 Penalty-Based Local Search Algorithms基于惩罚的局部搜索算法
- MATLAB出现“变量似乎要更改脚本中每个循环迭代的大小。请考虑对速度进行预分配。”警告如何解决...
热门文章
- Trivial、Non-Trivial和POD类型
- Qt警告:Missing reference in range-for with non trivial type (QString) [clazy-range-loop]
- 西湖论剑2021中国杭州网络安全技能大赛部分Writeup
- 北斗在线app服务器,北斗卫星导航app,北斗卫星导航app官网手机版预约 v1.0 - 浏览器家园...
- 解析ESX SERVER故障数据恢复方法
- IDEA插件下载地址
- 无刷直流电动机矢量控制(四)——simulink仿真搭建(让电机动起来)
- 【老九】【Java】随机数详解
- 第二周 半导体器件基础(二)
- 《高等代数学》(姚慕生),例1.5.10