从aosp构建手机应用程序

时间:2013-07-26 12:26:08

标签: android build android-source

我正在尝试从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?

2 个答案:

答案 0 :(得分:1)

首先尝试构建整个源代码......之后,每当您对任何应用程序的源代码进行更改时(在您的案例中为Phone),您需要重建整个代码。重建过程不会花费时间,因为只有更改将内置到系统映像中。使用“make”而不是“mmm”。但是请不要使用“make clean”,因为它会擦除您之前的构建并从头开始。所以大纲是:

  1. 第一次执行“make”
  2. 在应用程序中进行更改
  3. 再次执行“make”

答案 1 :(得分:1)

使用"制作snod"如果你只想要一个构建的组件附加到system.img