我正在为一个定制设备(让我们称之为我的定制设备)构建AOSP,并且已经成功地构建、映射和部署了一个工程构建(TARGET_BUILD_VARIANT=eng)。
但是,当我尝试使用user或userdebug构建进行构建时,就不再创建数据目录(myAOSP/out/target/product/mycustomdevice/data)了。因此,也没有创建userdata.img。
我已经完成了对AOSP源目录的全面清除(因此out目录也被清除了),并重新加载了源代码。然后执行一个lunch mycustomdevice-userdebug (或mycustomdevice),然后运行m命令。eng和user/userdebug之间没有任何其他变化,如果重复使用eng设置的构建变量设置的相同步骤,将再次包含data目录。
我找不到包含数据目录的任何文档。我从几个月前做的一次培训中了解到,数据暂存目录是可选的。如何确保为所有TARGET_BUILD_VARIANT创建数据目录?
发布于 2015-04-09 16:37:14
这只是-eng构建中包含的几个测试程序的安装目标的结果。例如,在一个测试.mk文件中,存在以下行:
LOCAL_MODULE_TAGS := eng tests
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativebenchmark当执行user或userdebug构建时,LOCAL_MODULE_TAGS设置(eng/test)不再匹配,因此输出不会放在数据目录中。因为$(TARGET_OUT_DATA)目录中没有输出(这将解析为myAOSP/out/target/product/mycustomdevice/data)。因此,由于没有输出,所以从未创建过目录。
请注意,$(TARGET_OUT_DATA)只是一个临时目录--这并不意味着安卓设备上将没有/data目录。当Android设备本身第一次初始化时,/data目录是根据myAOSP/system/core/rootdir/init.rc文件中的指令创建的,该指令初始化了Android系统的元素。
在我的例子中,有一个构建后的step脚本,它为所有分区创建映像,并将其打包到一个映像中,然后一次写入SD卡。这个脚本需要数据目录,即使它是空的。因此,要解决这个问题,我只需创建如下的/data目录:
~/myAOSP$ mkdir out/target/product/mycustomdevice/datahttps://stackoverflow.com/questions/29522838
复制相似问题