编译并运行Android4.0模拟器

  1.  编译Android模拟器

  在Ubuntu下,我们可以在源码里编译出自己的模拟器及SDK等编译工具,当然这个和在windows里下载的看起来没有什么区别。

  编译Android模拟器的步骤和编译Android系统很相似:

  Ø source build/envsetup.sh

  Ø lunch sdk-eng

  Ø make sdk

  在每次执行make的时候,编译系统会自动的验证上次编译项和这次编译项,如果两次不一样,会删除所有的目标代码,其实现在./build/core/main.mk

  71 # This allows us to force a clean build - includedafter the config.make

  72 # environment setup is done, but before we generateany dependencies. This

  73 # file does the rm -rf inline so the deps which areall done below will

  74 # be generated correctly

  75 include $(BUILD_SYSTEM)/cleanbuild.mk

  我们将第75行注释掉,这样就不会每次都自动删除上次编译的中间代码重新编译了。

  编译完之后效果如下图所示:


  sdk安装在了下面的目录里:

  WORKING_DIRECTORY/out/host/linux-x86/sdk

  在该目录下有一个压缩包,里面就是我们从eclipse里更新下载指定Target的sdk包。

  如果你做过app开发都会知道,我们只有下载了不同版本的sdk之后才能创建不同版本的模拟器。当我们编译完sdk之后就可以创建并运行Android4.0的模拟器了。

  $ cd WORKING_DIRECTORY/out/host/linux-x86/sdk/android-sdk_eng.linux_linux-x86/tools

  首先,查看当前编译出来的sdk的id号,用于创建一个模拟器:

  $ ./android list targets

  Available Android targets:

  ----------

  id: 1 or "android-14"

  Name:Android 4.0

  Type:Platform

  API level:14

  Revision: 2

  Skins:WXGA800, WQVGA400, WXGA720, HVGA, WVGA854, WQVGA432, WVGA800 (default), QVGA,WSVGA

  ABIs : no ABIs.

  创建一个模拟器

  $ ./android create avd -n mydroid -t 1

  注:-n 表示指定模拟器的名字, -t表示指定创建模拟的版本id

  启动模拟器

  $ ./emulator -avd mydroid &

  由于模拟器要启动android系统,它要使用几个映像文件,分别是:kernel-qemu , system.img, userdata.img, ramdisk.img

  Ø kernel-qemu:内核映像文件,它是linux操作系统针对qemu模拟器编译的内核文件,里面安装有qemu的仿真硬件驱动,如果将来在开发板或手机上移植android,那么,第一步就是要先make出一个支持开发板或手机的kernel来。

  Ø system.img:是android系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so, a)和资源,配置文件(etc目录下),系统命令(bin,usr/bin, xbin),该映像文件是由out/target/product/PRODUCT/system目录打包生成的,我们可以对这个目录里的东西进行定制化,比如,你要想让android系统默认为安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product/PRODUCT/system/app目录下

  Ø userdata.img:用户数据映像,里面包含有程序安装信息,好比如是windows的C:/Program Files/目录

  Ø ramdisk.img:内存磁盘映像,这个文件对于没有做过Linux移植的人来说,不好理解,linux内核启动起来,要挂载一个文件系统作为自己的根文件系统,通常文件系统是存放在块设备上的,也就是硬盘或flash上的,里面含有Linux内核启动过程中依赖的一些程序和配置文件,前面所述的userdata.img和system.img映像,在linux系统启动起来后挂载到其data,system目录下。

  我们可以通过下面的脚本run_emulator.sh,来指定Android模拟器来加载指定的映像文件:

  #!/bin/bash

  PWD_PATH=`pwd`

  IMG_PATH=$PWD_PATH/out/target/product/generic

  exportPATH=$PWD_PATH/out/host/linux-x86/sdk/android-sdk_eng.linux_linux-x86/tools:$PATH

  exportANDROID_PRODUCT_OUT=$PWD_PATH/out/target/product/generic

  export ANDROID_SWT=$PWD_PATH/out/host/linux-x86/framework

  emulator-kernel$PWD_PATH/kernel/goldfish/arch/arm/boot/zImage

  注:

  ANDROID_PRODUCT_OUT:环境变量必须指定,emulator就是从该环境变量下查找所有的映像文件的

  -kernel:指定内核映像

  当然也可以分别指定每个映像文件,通过下面的命令:

  $ emulator-kernel$PWD_PATH/kernel/goldfish/arch/arm/boot/zImage

  -image $IMG_PATH/system.img

  -data $IMG_PATH/userdata.img

  -ramdisk $IMG_PATH/ramdisk.img

  注:

  -system指定system.img

  -data指定userdata.img

  -ramdisk指定ramdisk.img

  如果将来要运行adb shell连接模拟器的话,我们都要使用root权限,否则会出现:error:device not found的错误。

  通过启动起来的Android系统->System Settings->About phone,可知使用的是我们自己编译的内核启动的。

时间: 2024-09-15 12:32:11

编译并运行Android4.0模拟器的相关文章

Ubuntu12.04下编译和下载Android4.0.3源码

[Android]Ubuntu12.04 下编译和下载 Android4.0.3 源码 原创文章,谢绝转载 官方页面 : initialize -> http://source.android.com/source/initializing.html download -> http://source.android.com/source/downloading.html build -> http://source.android.com/source/building.html 1

电脑端安装Android4.0模拟器使用

  如今说到什么智能手机最火,那很多人肯定会说android系统的手机.如果你还没有Android手机,又想买一部试试,可是价格都不便宜,买来不适合自己怎么办?那么可以先在电脑上安装一个Android模拟器,因为它可以在电脑上模拟出Android手机系统,让你提前体验一下它的魅力. 在最新的Android 4.0.3 R2模拟器中,已经加入了GPU支持,可以支持OpenGL ES 2.0标准,让开发者可以借助模拟器来测试自己的OpenGL游戏.在去年新增了摄像头支持之后,现在的新版模拟器也加入了

电脑中怎么安装Android4.0模拟器

现在普遍多是windows的系统,所以我以下的教程也是windows下的教程. 安装过程: 1.由于Android模拟器需要在Java环境才能运行,所以先要去下载Java安装. java官网:http://java.com/zh_CN/ 下载安装即可.如果你已经有java环境了可以跳过此步.   2.下载Android SDK(Android模拟器),全名是Android SDK starter package 电脑端模拟硬件环境的一个软件. 下载吧下载:http://www.xiazaiba.

IPS屏 Viota M970 9.7寸Android4.0平板仅售120美元

Viota,我们从来没有听说过的品牌,但他们似乎有足够的能力生产出IPS显示屏平板电脑,并并且价格合理.我正在谈论的机型就是Viota M970,9.7英寸IPS屏幕和价格为120美元的平板电脑. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;       这款平板电脑:采用IPS面板(IPS面板的优势是可视角度高.响应速度快,色彩还原准确,是液晶面板里的高端产品),1024×768像素分辨率,配备 1.5GHz

研博V10 Android4.0平板使用A8内核处理器

最近,我们已经看到了很多的Android4.0廉价平板电脑,我真的开始怀疑,为什么人们如此兴奋得到这个操作系统的高端平板电脑,因为他们可能只是出去买一个便宜的平板电脑,以体验一下ICS.这种Android4.0廉价平板电脑,来自深圳研博创科技,研博V10. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;       该设备为Wopad V10后续产品,在原有的基础上它增加了一些功能.该设备是双彩色分辨率1024×

在Ubuntu下获取Android4.0源代码并编译

搞了几个月的Android应用开发,勉强算是个Android开发者了吧,Android本就是开源的,还是把源代码下载下来自己编译一下,看看是个什么东西,出于好奇,和以后的职业发展,开始了无休止的Android研究过程... 这篇连载博客用来记录我从下载源代码到编译的整个过程,开始百度和谷歌了无数资料,遇到了不少的问题,以总结出来,希望对后来者有所帮助,于我也算是一种总结吧 接下来首先开发获取最新的Android源代码,目前最新版本是4.0 要获取源代码,当然还得先看官方文档怎么说http://s

xamarin-Xamarin android4.0.2 安卓门外汉,只想配置好一个能运行的版本,然后学习写点代码

问题描述 Xamarin android4.0.2 安卓门外汉,只想配置好一个能运行的版本,然后学习写点代码 [AndroidRuntime] Shutting down VM[AndroidRuntime] FATAL EXCEPTION: main[AndroidRuntime] java.lang.ExceptionInInitializerError[AndroidRuntime] at java.lang.Class.newInstanceImpl(Native Method)[And

android模拟器-android 5.0模拟器如何查看后台正在运行的程序??长按home键无效

问题描述 android 5.0模拟器如何查看后台正在运行的程序??长按home键无效 解决方案 [android]仿照长按home键 恢复后台运行程序 解决方案二: Settings --> Apps --> RUNNING 下就是正在运行的APP列表 解决方案三: 你点击一下MENU菜单键看看,貌似5.0后,那个功能放在菜单键了,而弹出菜单功能改为长按菜单键,

下载、编译、运行android 7.1系统详解(ubuntu 16.0.4)

Android 7的系统版本新增的很多的新功能,比如说任务处理功能,允许用户双击"最近"按钮去快速切换到自己上一次使用的应用程序中.同时,"最近"菜单中还有一个"清除全部"按钮.再比如说新增了省流量功能,在接近用户计费周期末,或是流量包本身较小的情况下,减少应用消耗的数据流量.在启用这一模式时,系统将拦截后台的数据使用,并在可能的情况下减少前台运行应用使用的数据量,例如限制你看视频,下调画质,以及减少缓存等.当然你也可以对个别应用不进行限制,痛快