Long time to recompile ART library. How to reduce loading time step before build library.

269 views
Skip to first unread message

Chatsiri Rattana

unread,
Dec 31, 2015, 5:48:44 AM12/31/15
to Android Building
Hello All,

        ART library built success in first step. I was improved some member function and recompile source on in library, but use long time to load Android.mk before build ART library.  such as

 ...
including ./external/chromium_org/Android.mk ...
including ./external/clang/Android.mk ...
including ./external/compiler-rt/Android.mk ...
including ./external/conscrypt/Android.mk ...
including ./external/deqp/Android.mk ...
including ./external/dexmaker/Android.mk ...
including ./external/dhcpcd/Android.mk ...
including ./external/dnsmasq/Android.mk ...
including ./external/doclava/Android.mk ...
including ./external/drm/Android.mk ...
including ./external/droiddriver/Android.mk ...
including ./external/e2fsprogs/Android.mk ...
including ./external/easymock/Android.mk ...
including ./external/eigen/Android.mk ...
including ./external/eject/Android.mk ...
...
...
...
host C++: dex2oat <= art/dex2oat/dex2oat.cc
host C++: libart_32 <= art/runtime/dex_file.cc
host C++: libart_32 <= art/runtime/native/dalvik_system_DexFile.cc
host C++: libart_32 <= art/runtime/native/java_lang_VMClassLoader.cc
host C++: libart_32 <= art/runtime/zip_archive.cc
host C++: libziparchive-host_32 <= system/core/libziparchive/z

How to reduce time to load Android.mk because some file source defined on Android.mk didn't improved or edit?

Thank in advance,
Chatsiri Rattana

Hamilton Turner

unread,
Jan 20, 2016, 1:45:05 PM1/20/16
to Android Building
Try `mmm art` - if all your changes are in subdirectories of ROOTDIR/art, then this should recompile it for you. Note that this will *just* compile it, if you want to flash it you probbaly also need `make snod`

Colin Cross

unread,
Jan 20, 2016, 11:24:12 PM1/20/16
to android-...@googlegroups.com
FYI, this is vastly improved in current AOSP master. Incremental
builds without touching any Android.mk files or changing products will
skip the "including .../Android.mk" step. A top level make with no
changes at all can take as little as 5 seconds.
> --
> --
> You received this message because you are subscribed to the "Android
> Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Building" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to android-buildi...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Hamilton Turner

unread,
Jan 22, 2016, 2:23:44 AM1/22/16
to Android Building
Hmm, is that what the database.mk file is for -- speeding up later calls to make? I never really took time to see what it was for, but was always curious why my "mgrep" calls turned up so much in that file

Chatsiri Rattana

unread,
Apr 11, 2016, 10:31:31 AM4/11/16
to Android Building
Hello all,

      Command line  mmm art compiles ART source. Show and error as.

/Android/android-x86s$ mmm art
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.1.1
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.5.0-18-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=LVY48I
OUT_DIR=out
============================================
Using target GCC 4.8 disables thread-safety checks.
grep: kernel/arch/arm/configs/goldfish_defconfig: No such file or directory
grep: kernel/arch/arm/configs/goldfish_defconfig: No such file or directory
grep: kernel/arch/arm/configs/goldfish_defconfig: No such file or directory
make: Entering directory `/Android/android-x86s'
make: *** No rule to make target `out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_libc++_intermediates/export_includes', needed by `out/host/linux-x86/obj/SHARED_LIBRARIES/libart_intermediates/import_includes'.  Stop.
make: Leaving directory `/Android/android-x86s'

Chih-Wei Huang

unread,
Apr 22, 2016, 4:24:09 PM4/22/16
to Android Building


Chatsiri Rattana於 2016年4月11日星期一 UTC+8下午10時31分31秒寫道:


You should try 'mmma art' first to ensure all dependencies are built.
It needs to parse all Android.mk as well.
After that you can use 'mmm art'.
Reply all
Reply to author
Forward
0 new messages