• Andrew Grieve's avatar
    Android: Skip dexmerger for java_library() in release · ee4b0c4a
    Andrew Grieve authored
    When .dex.jar files are just used as intermediates in the build, there's
    no advantage to merging all incremental .dex files into a single
    classes.dex. Instead, we can just store the class-per-dex-file files as
    classes.dex, classes2.dex, etc.
    
    The final dex step runs just as fast with numerous nested dex files as
    when there is just one.
    
    This approach really hurts on-device performance though, so when
    incremental install is relevant (debug mode), we leave dex merging
    enabled.
    
    For release builds, this reduces incremental dex steps of chrome_java
    from ~3s -> ~.2s on my machine.
    
    
    Bug: 937874
    Change-Id: I4d7511384e4830b883bcc89501f619711788a664
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1845931
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Reviewed-by: default avatarPeter Wen <wnwen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#703910}
    ee4b0c4a
javac.py 22 KB