Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AOSP构建-从eng切换到user或userdebug时,不再创建数据目录_Android_Makefile_Android 4.4 Kitkat_Android Source_Android Make - Fatal编程技术网

Android AOSP构建-从eng切换到user或userdebug时,不再创建数据目录

Android AOSP构建-从eng切换到user或userdebug时,不再创建数据目录,android,makefile,android-4.4-kitkat,android-source,android-make,Android,Makefile,Android 4.4 Kitkat,Android Source,Android Make,我正在为一个定制设备(我们称之为mycustomdevice)构建AOSP,并成功构建、镜像和部署了一个工程构建(TARGET\u build\u VARIANT=eng) 但是,当我尝试使用user或userdebug构建来进行构建时,数据目录将不再创建(myAOSP/out/target/product/mycustomdevice/data)。因此,也没有创建userdata.img 我已经完全清除了AOSP源目录(因此,out目录也被清除),并重新加载了源代码。然后执行mycustomd

我正在为一个定制设备(我们称之为mycustomdevice)构建AOSP,并成功构建、镜像和部署了一个工程构建(
TARGET\u build\u VARIANT=eng

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

我已经完全清除了AOSP源目录(因此,
out
目录也被清除),并重新加载了源代码。然后执行
mycustomdeviceuserdebug
(或mycustomdevice user),然后运行
m
命令。在
eng
user
/
userdebug
之间没有任何其他更改,对设置为
eng
的构建变量重复相同步骤将导致再次包含
数据
目录


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

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

LOCAL_MODULE_TAGS := eng tests
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativebenchmark
当执行
用户
用户调试
构建时,
本地模块标签
设置(eng/tests)不再匹配,因此输出不会放在数据目录中。由于
$(TARGET\u OUT\u DATA)
目录中没有输出(解析为
myAOSP/OUT/TARGET/product/mycustomdevice/DATA
)。因此,由于没有输出,因此永远不会创建目录

请注意,
$(TARGET\u OUT\u DATA)
只是一个暂存目录,并不意味着Android设备上没有
/DATA
目录。当Android设备本身首次初始化时,
/data
目录是根据
myAOSP/system/core/rootdir/init.rc
文件中的指令创建的,该文件初始化Android系统的元素

在我的例子中,有一个构建后步骤脚本,它为所有分区创建映像,并将其捆绑到单个映像中,以便一次性写入SD卡。此脚本需要数据目录,即使它是空的。所以要解决这个问题,我只需创建如下的
/data
目录:

~/myAOSP$ mkdir out/target/product/mycustomdevice/data