Как правильно очистить модуль и перестроить его в AOSP? - PullRequest
1 голос
/ 13 апреля 2019

Верхний каталог AOSP - ~ / WORKING_DIRECTORY. Если я бегу

~/WORKING_DIRECTORY$ make

вся система собирается правильно.

Согласно Создание определенного модуля в исходном коде Android , https://stackoverflow.com/a/30671099/746461,, если мне нужно перестроить искусство, я

cd art
mm

Однако выдает ошибку:

FAILED: out/target/common/cpplint/art__compiler__optimizing__nodes.h 
/bin/bash -c "(art/tools/cpplint.py --quiet --root=. --filter=-whitespace/line_length,-build/include,-readability/function,-readability/streams,-readability/todo,-runtime/references,-runtime/sizeof,-runtime/threadsafe_fn,-runtime/printf art/compiler/optimizing/nodes.h ) && (mkdir -p out/target/common/cpplint/ ) && (touch out/target/common/cpplint/art__compiler__optimizing__nodes.h )"
art/compiler/optimizing/nodes.h:3974:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
art/compiler/optimizing/nodes.h:3978:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
art/compiler/optimizing/nodes.h:3983:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
art/compiler/optimizing/nodes.h:3987:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
art/compiler/optimizing/nodes.h:3992:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
art/compiler/optimizing/nodes.h:3996:  Labels should always be indented at least one space.  If this is a member-initializer list in a constructor or the base class list in a class definition, the colon should be on the following line.  [whitespace/labels] [4]
Done processing art/compiler/optimizing/nodes.h
Total errors found: 6
[  1% 108/10017] Building with Jack: out/ho...S/core-oj-hostdex_intermediates/classes.dex
ninja: build stopped: subcommand failed.
17:27:03 ninja failed with: exit status 1

#### failed to build some targets (13 seconds) ####

Если я останусь в ~ / WORKING_DIRECTORY и вызову mm art, кажется, что он собирается правильно.

Однако, если я намеренно допустил ошибку в исходном коде, тогда запустите

~/WORKING_DIRECTORY$ mm art

он все еще собирается, что означает, что новые файлы вообще не компилируются. Смотрите скриншот.

enter image description here

Какой правильный способ восстановления модуля?

1 Ответ

0 голосов
/ 04 июня 2019

Очистка модуля:

cd $ANDROID_BUILD_TOP
make clean-module_name

арт-проект имеет более одного целевого модуля.Вы должны использовать чистые для них один за другим.

...