首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AOSP构建-当从eng切换到用户或用户调试时,数据目录不再创建。

AOSP构建-当从eng切换到用户或用户调试时,数据目录不再创建。
EN

Stack Overflow用户
提问于 2015-04-08 18:42:26
回答 1查看 3.9K关注 0票数 3

我正在为一个定制设备(让我们称之为我的定制设备)构建AOSP,并且已经成功地构建、映射和部署了一个工程构建(TARGET_BUILD_VARIANT=eng)。

但是,当我尝试使用useruserdebug构建进行构建时,就不再创建数据目录(myAOSP/out/target/product/mycustomdevice/data)了。因此,也没有创建userdata.img

我已经完成了对AOSP源目录的全面清除(因此out目录也被清除了),并重新加载了源代码。然后执行一个lunch mycustomdevice-userdebug (或mycustomdevice),然后运行m命令。enguser/userdebug之间没有任何其他变化,如果重复使用eng设置的构建变量设置的相同步骤,将再次包含data目录。

我找不到包含数据目录的任何文档。我从几个月前做的一次培训中了解到,数据暂存目录是可选的。如何确保为所有TARGET_BUILD_VARIANT创建数据目录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 16:37:14

这只是-eng构建中包含的几个测试程序的安装目标的结果。例如,在一个测试.mk文件中,存在以下行:

代码语言:javascript
运行
复制
LOCAL_MODULE_TAGS := eng tests
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativebenchmark

当执行useruserdebug构建时,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目录:

代码语言:javascript
运行
复制
~/myAOSP$ mkdir out/target/product/mycustomdevice/data
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29522838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档