0

我正在尝试从 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中的一个错误?

4

2 回答 2

1

首先尝试构建整个源代码......之后,每当您更改任何应用程序的源代码(在您的情况下为电话)时,您都需要重新构建整个代码。重建过程不会花费时间,因为只有更改会内置到系统映像中。使用 "make" 而不是 "mmm" 。但是不要使用“make clean”,因为它会删除你之前的构建并从头开始。所以大纲是:

  1. 第一次执行“make”构建
  2. 在应用程序中进行更改
  3. 再次执行“make”
于 2013-07-26T12:40:16.247 回答
1

如果您只想要一个构建为附加到 system.img 的组件,请使用“make snod”

于 2014-12-26T16:37:47.830 回答