如何在 MAC 上启动 Android AOSP 模拟器
Posted
技术标签:
【中文标题】如何在 MAC 上启动 Android AOSP 模拟器【英文标题】:How to start Android AOSP emulator on MAC 【发布时间】:2013-04-04 05:16:35 【问题描述】:我已按照 android 源网站 (http://source.android.com/source/building.html) 上的说明下载并编译了 Android 源代码
我选择了
$ lunch full-eng
一个仿真器工程构建,一切都编译得很好。
然后它说要在模拟器中启动图像,只需键入:
The emulator is added to your path automatically by the build process. To run the emulator, type
$ emulator
好吧,不确定它是否已添加到路径中。键入模拟器没有任何作用。
但是如果我去
out/host/darwin-x86/bin/emulator
emulator: ERROR: You did not specify a virtual device name, and the system
directory could not be found.
If you are an Android SDK user, please use '@<name>' or '-avd <name>'
to start a given virtual device (see -help-avd for details).
所以我很困惑......此时我必须创建一个 AVD 吗? 如何准确地为此图像创建 AVD?
有没有人在 MAC 上做过这个,他们可以给我一些说明吗?
谢谢
【问题讨论】:
我会在 google 群组上发布这个问题:groups.google.com/forum/?fromgroups#!forum/android-building 【参考方案1】:我不确定在 osx 上是否有任何区别,但这是 Linux 上的常见错误。构建整个 AOSP 后,构建过程会将 <AndroidBase>/out/host/<host-arch>/bin/emulator
添加到 PATH 中,但是在重新启动计算机或打开另一个会话后,模拟器将不再位于路径中。
修复“您没有指定虚拟设备名称,系统
找不到目录”错误,您可以显式设置 ANDROID_PRODUCT_OUT 指向您的磁盘映像目录。通常,磁盘映像目录为<AndroidBase>/out/target/product/generic
。所以
$export ANDROID_PRODUCT_OUT=<ANDROID BASEDIR>/out/target/product/generic/
会有帮助的。
其实可以跑
. build/envsetup.sh
setpaths
它会为你做类似的工作。
【讨论】:
嗨!是的,运行 envsetup 确实可以解决所有路径问题。然而主要问题是,当模拟器运行时,它需要一些参数来传递。否则你会得到:out/host/darwin-x86/bin/emulator emulator: ERROR: You didn't specify a virtual device name, and the system directory could not be found.如果您是 Android SDK 用户,请使用 '@我使用 aosp_x86_64-eng 构建并验证以下内容将在新的终端窗口中启动模拟器:
cd /[your AOSP WORKING_DIRECTORY]
source build/envsetup.sh
lunch aosp_x86_64-eng
cd $ANDROID_PRODUCT_OUT
emulator
【讨论】:
以上是关于如何在 MAC 上启动 Android AOSP 模拟器的主要内容,如果未能解决你的问题,请参考以下文章
AOSP源码分析:Android Input事件的产生读取和分发
如何将Android的AOSP仓库放置到自己的gitlab服务器上?