我已经为模拟器构建了Android源代码。我在 Android Source文档中读到,在成功构建期间,“emulator”的路径会自动添加。然而,我有两个问题:
如果我打开一个新的shell或关闭现有的shell,“emulator”将不再被找到。难道每次想要运行模拟器时都必须重新构建吗?
如果模拟器需要AVD,那么在我的机器上没有Android SDK的情况下,我该如何创建和管理它们?
谢谢, Jack
第二部分解决方案。
我需要创建一个名为ANDROID_PRODUCT_OUT的环境变量。从以下命令开始:
emulator -help-build-images
我读到...
模拟器通过查看你的环境中的ANDROID_PRODUCT_OUT变量来检测你是否正在使用Android构建系统。
如果已定义,它应该指向包含生成的系统镜像的特定产品目录。
然后我在“out”目录中搜索了“system.ing”。由于我是为模拟器构建,因此镜像位于:
out/target/product/generic
我在我的.bashrc文件中添加了以下代码:
export ANDROID_PRODUCT_OUT=/home/jack.wootton/code/out/target/product/generic
然后我能够从以下位置运行模拟器:
/home/jack.wootton/code/out/host/linux-x86/bin
第一部分的解决方案。
我不了解Android虚拟设备,所以这个问题仍然存在 - 不过,在成功构建并设置ANDROID_PRODUCT_OUT环境变量后,我不需要提供虚拟设备即可运行模拟器。
更新解决方案
显然,像ANDROID_PRODUCT_OUT这样的变量应该在构建期间自动创建,并使用envSetup.sh脚本。 我想我的环境设置出了问题,因此没有发生这种情况。