как собрать один модуль из Android AOSP кода - PullRequest
0 голосов
/ 09 января 2020

Я использую среду сборки AOSP из aws, которая по сути является проверкой AOSP на EC2 (мое предположение).

  • на уровне AOSP root, я мог запустить > m ​​, чтобы все успешно построить.

  • на уровне модуля, я мог бы запустить > mma , чтобы построить модуль со всеми зависимостями успешно.

  • однако, если бы я запустил > мм в папке модуля, это не удалось.

для Например, если я попытался создать приложения Contact,


    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

======= update =======

если я бегу> мма, то> мм. сборка проходит, но на самом деле ничего не компилируется (так как файлы java уже собраны?).

если я запускаю> mma, то> mm clean, затем> mm, затем mm не удается сборка.

1 Ответ

1 голос
/ 10 января 2020

Вы можете создать один модуль, включающий все зависимости, с помощью m <module>.

Пример:

m Contacts

Что касается сообщения об ошибке, которое вы получаете: я иногда получаю следующие типы сообщения об ошибках, потому что хранилища не проверены должным образом и, следовательно, файлы отсутствуют. Источники aapt находятся в репозитории frameworks/base/. Вам следует проверить, действительно ли статус git и существует ли каталог frameworks/base/tools/aapt.

...