gpt4 book ai didi

android - 构建 Android 源代码 : error when executing mm?

转载 作者:行者123 更新时间:2023-11-29 01:47:35 24 4
gpt4 key购买 nike

更新

我得到了这个工作。我不确定。我根本没有进行任何配置更改。我所做的是:

  • 修改frameworks/base/core/java/android/app中的Dialog
  • 转到我的根目录 (/path/to/source/)。
  • 然后我做了 mmm frameworks/base/

一切正常。然后我完全尝试了我已经在下面尝试过的方法:

  • frameworks/base/core/java/android/widget中修改ScrollView(其实我没说我修改的是哪个文件)。
  • chframeworks/base/core/java/android/widget
  • 然后我做了 mm

这次我没有像以前那样在删除文件时出现错误。现在一切正常。

也许这是一些缓存或错误?

/更新

我正在为模拟器构建 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 以使模拟器运行并应用我的修复。

在使用 mm 命令后检查 out/target/product/generic/ 文件夹,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有什么作用?

最佳答案

我也遇到过。

我能够使用 mmm 命令解决它。

在 framework/base 文件夹中,我做了:

mmm .

然后所有“mm”命令都起作用了。

“mm -B”与“mm”:-B 开关如果强制构建不使用任何现有的 obj 文件(就像先清理然后构建),其中单独的“mm”命令将使用任何现有的 obj 文件并从那里继续构建。如果构建成功 - 您可以看到运行“mm”不会执行任何操作,其中“mm -B”将对当前模块进行完整构建。

关于android - 构建 Android 源代码 : error when executing mm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com