Update
I got this working. How I am not sure. I did no config changes at all. What I did was:
- 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:
- 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?
/Update
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
`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/'
Leaving me to do make -j32
again to get the emulator to run and apply my fixes.
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:
* 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/'
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.
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.
I have also seen the command mm -B
, what does the -B
do?