ОбновлениеИсточник Android-источника: ошибка при выполнении mm?
Я получил эту работу. Как я не уверен. Я вообще ничего не изменил. Что я сделал:
- Изменить
Dialog
вframeworks/base/core/java/android/app
. - Пошел к моему корню (
/path/to/source/
). - Тогда я сделал
mmm frameworks/base/
.
Все работало. Тогда я попытался именно то, что я уже пробовал ниже:
- Изменить
ScrollView
(я на самом деле никогда не говорил, какой файл я модифицирования) вframeworks/base/core/java/android/widget
. - I
ch
'ed доframeworks/base/core/java/android/widget
. - Тогда я сделал
mm
.
На этот раз у меня не было таких ошибок, как раньше, когда файлы были удалены. Теперь это просто работает.
Возможно, это было какое-то кеширование или ошибка?
/Update
Я строй исходного кода Android для эмулятора. Я построил весь код с make -j32
, а system.img получает выход out/target/product/generic/system.img
. Эмулятор работает просто путем вызова emulator
.
Когда я вношу изменения в frameworks/base/core/java/android/widget
, используя документацию hmm
, наиболее подходящей командой будет mm
для создания текущего каталога.
К сожалению, я получаю сообщение об ошибке:
make: * No rule to make target
`out/target/product/generic/system/framework/framework-res.apk',
needed by `out/target/product/generic/system/framework/framework.jar'.
Stop.
make: Leaving directory `/path/to/source/'
Оставив меня сделать make -j32
снова, чтобы получить эмулятор для запуска и применить свои исправления.
Проверка папки out/target/product/generic/
после использования команды mm
, system.img удален несколькими способами.
Когда я читаю журналы это отпечатанные:
* Forcing "make installclean"...
* rm -rf out/target/product/generic/data/* out/target/product/generic/data-qemu/*
out/target/product/generic/userdata-qemu.img
out/host/linux-x86/obj/NOTICE_FILES out/host/linux-x86/sdk
out/target/product/generic/.img out/target/product/generic/.txt
out/target/product/generic/.xlb out/target/product/generic/.zip
out/target/product/generic/kernel out/target/product/generic/data
out/target/product/generic/obj/APPS
out/target/product/generic/obj/NOTICE_FILES
out/target/product/generic/obj/PACKAGING
out/target/product/generic/recovery out/target/product/generic/root
out/target/product/generic/system
out/target/product/generic/dex_bootjars
out/target/product/generic/obj/JAVA_LIBRARIES
out/target/product/generic/obj/FAKE
out/target/product/generic/obj/EXECUTABLES/adbd_intermediates
out/target/product/generic/obj/EXECUTABLES/init_intermediates
out/target/product/generic/obj/ETC/mac_permissions.xml_intermediates
out/target/product/generic/obj/ETC/sepolicy_intermediates
* Done with the cleaning, now starting the real build. make: Entering directory `/path/to/source/'
Я предполагаю, что это будет чистой «устаревшие» данные, а затем восстановить ее с уже предварительно построенном исходным кодом Android, но с моими изменениями в папке frameworks/base/core/java/android/widget
,
Это правильный подход? У меня было впечатление, что mm
скомпилирует то, что было необходимо в текущем каталоге, и каким-то образом вставим эти данные в system.img.
Я также видел команду mm -B
, что делает -B
?
Я вижу, спасибо. Вы знаете, почему 'mm' не работал в первый раз? –
Нет, я понятия не имею. Это особенно странно, потому что я уверен, что работа «mmm» или «мм» внутри должна делать то же самое. –
Udinic
Я сделал make clean и сделал, после этого как 'mm', так и' mmm' перестали работать для папки 'frameworks/base /'. Что я сделал, чтобы исправить это, было использовать команду 'mmm frameworks/base/core/res', тогда я мог бы использовать мои предыдущие команды. –