我正在尝试从aosp构建一个手机应用程序。我已按照谷歌指南中的描述配置了我的工作目录。然后我要去我的工作目录,执行source build/envsetup.sh
并获得以下内容:
including device/asus/grouper/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/moto/wingray/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
然后我正在执行命令mmm packages/apps/Phone/
并出现问题,我得到了
make: Entering directory `/home/build/WORK_DIR'
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/core_intermediates/javalib.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/com.android.phone.common_intermediates/classes-full-debug.jar'. Stop.
make: Leaving directory `/home/build/WORK_DIR'
任何人都可以解释我该怎么办?我应该首先构建整个android项目,还是makefile中的bug?
答案 0 :(得分:1)
首先尝试构建整个源代码......之后,每当您对任何应用程序的源代码进行更改时(在您的案例中为Phone),您需要重建整个代码。重建过程不会花费时间,因为只有更改将内置到系统映像中。使用“make”而不是“mmm”。但是请不要使用“make clean”,因为它会擦除您之前的构建并从头开始。所以大纲是:
答案 1 :(得分:1)
使用"制作snod"如果你只想要一个构建的组件附加到system.img