【发布时间】:2020-01-10 14:52:41
【问题描述】:
我正在使用来自 aws 的 AOSP 构建环境,它本质上是 EC2 上的 AOSP 结帐(我的猜测)。
在 AOSP 根级别,我可以运行 >m 以成功构建所有内容。
在模块级别,我可以运行 >mma 以成功构建具有所有依赖项的模块。
但是,如果我要在模块文件夹中运行 >mm,它会失败。
例如,如果我尝试构建联系人应用程序,
ubuntu@ip-172-31-37-80:~/aosp/oreo/packages/apps/Contacts$ mm
make: Entering directory '/home/ubuntu/aosp/oreo'
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=8.0.0
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.15.0-1056-aws-x86_64-with-Ubuntu-18.04-bionic
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=OPD1.170816.025
OUT_DIR=out
============================================
[38/38] bootstrap out/soong/.minibootstrap/build.ninja.in
[1/2] out/soong/.bootstrap/bin/minibp out/soong/.minibootstrap/build.ninja.in
[4/4] out/soong/.bootstrap/bin/minibp out/soong/.bootstrap/build.ninja
[791/792] glob test/vts/utils/native/trace_processor/Android.bp
[47/47] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
out/build-aosp_arm-packages_apps_Contacts_Android.mk.ninja is missing, regenerating...
test/vts/tools/build/tasks/vts_package.mk:222: warning: FindEmulator: cd: vendor/google_vts/testcases: No such file or directory
test/vts/tools/build/tasks/vts_package.mk:222: warning: FindEmulator: cd: vendor/google_vts/testcases: No such file or directory
test/vts/tools/build/tasks/vts_package.mk:222: warning: FindEmulator: cd: vendor/google_vts/testcases: No such file or directory
[ 99% 1301/1302] glob vendor/*/*/Android.bp
ninja: error: 'out/host/linux-x86/bin/aapt', needed by 'out/target/product/generic/obj/APPS/Contacts_intermediates/package.apk', missing and no known rule to make it
01:29:34 ninja failed with: exit status 1
build/core/main.mk:21: recipe for target 'run_soong_ui' failed
make: *** [run_soong_ui] Error 1
make: Leaving directory '/home/ubuntu/aosp/oreo'
#### make failed to build some targets (25 seconds) ####
我的想法是只从应用级文件夹构建那些 java 源代码以提高速度。 这可能吗?
谢谢!
问候,
SQR
======= 更新=======
如果我运行 >mma,那么 >mm。构建正在通过,但它实际上没有编译任何东西(因为 java 文件已经构建了?)。
如果我运行 >mma,然后 >mm clean,然后 >mm,则 mm 无法构建。
【问题讨论】:
-
out/host/linux-x86/bin/aapt 是联系人需要的。所以你应该先使用 mma。
-
@Yong,谢谢,请参阅我上面的帖子以获取更新。谢谢!