2013-04-11 52 views
0

我已经下载并编制根据说明Android源代码的Android的源网站(http://source.android.com/source/building.html如何启动Android AOSP仿真器上MAC

我选择

$ 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上做过这件事,他们能否给我提供一些指导?

感谢

+0

我会发布的谷歌集团这样一个问题:https://groups.google。 com/forum /?fromgroups#!forum/android-building – cbrulak 2013-04-11 20:53:33

回答

2

我不知道是否有在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 

它会做类似的工作适合你。

+0

嗨!是的,运行envsetup真正解决所有路径问题。然而,主要的问题是,当模拟器运行时,它需要一些参数传递给它。否则会得到:out/host/darwin-x86/bin/emulator 模拟器:错误:您没有指定虚拟设备名称,并且找不到系统 目录。 如果您是Android SDK用户,请使用'@'或'-avd ' 来启动给定的虚拟设备(有关详细信息,请参阅-help-avd)。 – drlobo 2013-04-13 22:02:23

+0

那么您是如何为您建立的模拟器创建AVD的? – drlobo 2013-04-13 22:03:35

+0

通常,您可以明确使用emulator -system system.img -data userdata.img -ramdisk ramdisk.img来启动模拟器而不创建任何avd。如果你根据我的回答设置了ANDROID_PRODUCT_OUT,模拟器会自动找到这些图像,所以它应该可以正常工作。 @drlobo – StarPinkER 2013-04-14 00:44:03

0

我建立与aosp_x86_64-ENG和已经验证下面将在一个新的终端窗口启动模拟器:

cd /[your AOSP WORKING_DIRECTORY] 
source build/envsetup.sh 
lunch aosp_x86_64-eng 
cd $ANDROID_PRODUCT_OUT 
emulator