执行毫米时错误:构建Android源? [英] Building Android source: error when executing mm?
问题描述
更新
我得到了这个工作。我如何我不知道。我都没有做配置的变化。我所做的是:
I got this working. How I am not sure. I did no config changes at all. What I did was:
- 修改
对话框
在框架/基/核心/爪哇/安卓/应用程序
。 - 又到我的根(
/路径/要/来源/
)。 - 然后我做了
MMM框架/基/
。
- Modify
Dialog
inframeworks/base/core/java/android/app
. - Went to my root (
/path/to/source/
). - Then I did
mmm frameworks/base/
.
一切工作。然后我尝试的完全的是什么,我已经试过如下:
Everything worked. Then I tried exactly what I had already tried below:
- 修改
滚动型
(其实我从来没有说过哪个文件,我修改)的框架/基/核心/爪哇/安卓/小工具
。 - I
CH
编辑为框架/基/核心/爪哇/安卓/小工具
。 - 然后我做了
毫米
。
- Modify
ScrollView
(I actually never said which file I was modifying) inframeworks/base/core/java/android/widget
. - I
ch
'ed toframeworks/base/core/java/android/widget
. - Then I did
mm
.
这一次,我没有这样的错误被删除时,文件之前。现在,它只是工作。
This time I had no errors like before when the files were removed. Now it just works.
也许这就是一些缓存或错误?
Maybe this was some caching or bug?
/更新
我建立了Android源$ C $ C仿真器。我建立了整个code与使-j32
和system.img到达输出输出/目标/产品/通用/系统。 IMG
。仿真器通过调用工作只需模拟器
。
I am building the Android source code for the emulator. I built the whole code with make -j32
and the system.img gets to the output out/target/product/generic/system.img
. The emulator works simply by calling emulator
.
当我这样做变化框架/基/核心/爪哇/安卓/小工具
,使用嗯
文档,最合适的命令应该是毫米
打造的当前目录。
When I do changes in frameworks/base/core/java/android/widget
, using the hmm
documentation, the most appropriate command would be mm
to build the current directory.
不幸的是我得到一个错误:
Unfortunately I get an error:
请:*没有规则,使目标
make: * No rule to make target
`输出/目标/产品/通用/系统/框架/框架res.apk,
`out/target/product/generic/system/framework/framework-res.apk',
需要'走出/目标/产品/通用/系统/框架/ framework.jar。
needed by `out/target/product/generic/system/framework/framework.jar'.
停止。
请:离开目录 `/路径/要/来源/
make: Leaving directory `/path/to/source/'
离开我做使-j32
再次获得模拟器来运行和应用我的修正。
Leaving me to do make -j32
again to get the emulator to run and apply my fixes.
检查输出/目标/产品/通用/
文件夹中使用毫米
命令,system.img有后被删除与其他几件事情。
Checking the out/target/product/generic/
folder after using the mm
command, system.img has been removed with several other things.
当我读到这则打印的日志:
When I read the logs this is printed:
* 的强制让installclean......
* Forcing "make installclean"...
* 的室射频输出/目标/产品/通用/数据/ *输出/目标/产品/通用/数据QEMU / *
* rm -rf out/target/product/generic/data/* out/target/product/generic/data-qemu/*
输出/目标/产品/通用/用户数据-qemu.img
out/target/product/generic/userdata-qemu.img
输出/主机/ Linux的-86 / OBJ / NOTICE_FILES输出/主机/ Linux的-86 / SDK
out/host/linux-x86/obj/NOTICE_FILES out/host/linux-x86/sdk
输出/目标/产品/通用/ .IMG出/目标/产品/通用/ 的.TXT
out/target/product/generic/.img out/target/product/generic/.txt
输出/目标/产品/通用/ .xlb出/目标/产品/通用/ 的.ZIP
out/target/product/generic/.xlb out/target/product/generic/.zip
输出/目标/产品/通用/内核输出/目标/产品/通用/数据
out/target/product/generic/kernel out/target/product/generic/data
输出/目标/产品/通用/ OBJ / APPS
out/target/product/generic/obj/APPS
输出/目标/产品/通用/ OBJ / NOTICE_FILES
out/target/product/generic/obj/NOTICE_FILES
输出/目标/产品/通用/ OBJ /包装
out/target/product/generic/obj/PACKAGING
输出/目标/产品/通用/恢复输出/目标/产品/通用/根
out/target/product/generic/recovery out/target/product/generic/root
输出/目标/产品/通用/系统
out/target/product/generic/system
输出/目标/产品/通用/ dex_bootjars
out/target/product/generic/dex_bootjars
输出/目标/产品/通用/ OBJ / JAVA_LIBRARIES
out/target/product/generic/obj/JAVA_LIBRARIES
输出/目标/产品/通用/ OBJ / FAKE
out/target/product/generic/obj/FAKE
输出/目标/产品/通用/ OBJ可执行/文件/ adbd_intermediates
out/target/product/generic/obj/EXECUTABLES/adbd_intermediates
输出/目标/产品/通用/ OBJ可执行/文件/ init_intermediates
out/target/product/generic/obj/EXECUTABLES/init_intermediates
输出/目标/产品/通用/ OBJ / ETC / mac_permissions.xml_intermediates
out/target/product/generic/obj/ETC/mac_permissions.xml_intermediates
输出/目标/产品/通用/ OBJ / ETC / sepolicy_intermediates
out/target/product/generic/obj/ETC/sepolicy_intermediates
* 的完成与清洗,从现在开始真正的构建。令:进入目录`/路径/到/来源/
* Done with the cleaning, now starting the real build. make: Entering directory `/path/to/source/'
我的猜测是,它会清理过时的数据,然后与已经prebuilt Android源$ C $ C,但我在框架/基/核心/ java的变化重建它/安卓/小工具
文件夹。
My guess is that it will clean "outdated" data and then rebuild it with the already prebuilt Android source code BUT with my changes in the frameworks/base/core/java/android/widget
folder.
这是正确的做法?我下的是IM pression 毫米
将编译哪些需要在当前目录下,不知怎么插入这个数据到system.img。
Is this the right approach? I was under the impression mm
would compile what was needed in the current directory and somehow insert this data to the system.img.
我也看到了命令毫米-B
,什么是 -B
吗?
I have also seen the command mm -B
, what does the -B
do?
推荐答案
这发生在我身上了。
我能够使用MMM命令来解决这个问题。
I was able to solve it by using the mmm command.
从架构/基础文件夹中,我所做的:
From within the framework/base folder, I did:
mmm .
和之后,所有的MM命令工作。
and after that all "mm" commands worked.
毫米-B与MM: -b选项,如果强制构建W / O使用任何现有的OBJ文件(如做清洁,然后生成),这里的MM命令本身会使用任何现有的OBJ文件,并从那里继续生成。 如果你有一个成功的构建 - 你可以看到,在运行MM不会做的事,其中毫米-B会做一个完整的构建当前模块
"mm -B" vs "mm": The -B switch if forcing the build w/o the use of any existing obj files (as doing clean and then build), where the "mm" command alone will use any existing obj files and continue the build from there. If you have a successful build - you can see that running "mm" won't do a thing, where "mm -B" will do a full build of the current module.
这篇关于执行毫米时错误:构建Android源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!