Update
我得到了这个工作 . 我怎么不确定 . 我根本没有配置更改 . 我做的是:
-
修改
Dialog
中的Dialog
. -
去了我的根(
/path/to/source/
) . -
然后我做了
mmm frameworks/base/
.
一切正常 . 然后我尝试了我在下面尝试过的内容:
-
修改
ScrollView
(我实际上从未说过我在修改哪个文件)frameworks/base/core/java/android/widget
. -
I
ch
'ed toframeworks/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:*没有规则来制作目标
out / target / product / generic / system / framework / framework-res.apk',需要
out / target / product / generic / system / framework / framework.jar' . 停止 . make:将目录`/ path /留给/ source /'
让我再次做 make -j32
让模拟器运行并应用我的修复程序 .
使用 mm
命令后检查 out/target/product/generic/
文件夹,已删除了system.img以及其他一些内容 .
当我读取日志时,会打印出来:
*强制“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_int ermediates *完成清洁,现在开始真正的构建 . make:输入目录`/ path / to / source /'
我的猜测是,它将清除"outdated"数据,然后使用已经预先构建的Android源代码重建它,但我在 frameworks/base/core/java/android/widget
文件夹中进行了更改 .
这是正确的方法吗?我的印象是 mm
将编译当前目录中所需的内容,并以某种方式将此数据插入system.img .
我也看过命令 mm -B
, -B
做了什么?
1 回答
它也发生在我身上 .
我能够使用mmm命令解决它 .
从框架/基本文件夹中,我做了:
之后所有“mm”命令都有效 .
“mm -B”vs“mm”:-B开关如果强制构建没有使用任何现有的obj文件(如干净然后构建),其中“mm”命令单独使用任何现有的obj文件并从那里继续构建 . 如果你有一个成功的构建 - 你可以看到运行“mm”不会做任何事情,其中“mm -B”将完成当前模块的完整构建 .