Description:

LZMA support is firstly designed for Crosswalk Lite, this feature remarkably 
reduced the apk size(about 30%) by introducing an LZMA compression algorithm.

We want to backport some feature from Crosswalk Lite to Crosswalk, after 
discussion and voting, we’ve reach an agreement here:

https://docs.google.com/a/intel.com/spreadsheets/d/1RJOKGOABE_IhEnnA1RfbFqS95jxY9kV5MX_4rUGG6jE/edit#gid=0

Since the size is critical for Crosswalk, this feature is warmly welcomed by 
developers.



Related feature:

LZMA support for Crosswalk:

JIRA: https://crosswalk-project.org/jira/browse/XWALK-3810

Pull Request: https://github.com/crosswalk-project/crosswalk/pull/3004

LZMA support for Crosswalk Lite:

Pull Request: 
https://github.com/d0ngjun/crosswalk/commit/671f6b6bc4c0f8abb4376b57a52fb8847b4ae21e



Implementation details:

This use the LZMA library from SevenZip 
(http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2).

Unzip it, you can find the license in lzma.txt:

LZMA SDK is written and placed in the public domain by Igor Pavlov.

The app will firstly extract the compressed library in its package, if it 
doesn’t found the library or if the library is older.

After the decompression is complete, method onXWalkReady in class XWalkActivity 
will be invoked.

This feature will add a new build flag(use_lzma) into make_apk.py, default 
value is disable.



Risks/Opens:

1.            Need to resolve many conflictions(for LZMA is base on Crosswalk 
Lite, which involve some Lite only feature).

2.            Pay attention to Crosswalk <-> Crosswalk Lite cross upgrading.



Interface Changes:

Add --enable_lzma parameter into make_apk.py:

True: compress the libxwalkcore.so, then move it into res/raw directory.

False: do not compress libxwalkcore.so (default behavior).





-----Original Message-----
From: Huo, Halton
Sent: Tuesday, May 5, 2015 11:11 PM
To: [email protected]; Dong, Jun
Cc: Kubo Da Costa, Raphael; Christiansen, Kenneth R
Subject: RE: [Crosswalk-dev] Intent to Implement: LZMA support for Crosswalk



Hi Jun,



Could you send updated version of this Intent so that others can continue on 
reviewing.



Thanks,

Halton.

> -----Original Message-----

> From: Crosswalk-dev

> [mailto:[email protected]] On Behalf

> Of Raphael Kubo da Costa

> Sent: Tuesday, March 31, 2015 4:07 PM

> To: 
> [email protected]<mailto:[email protected]>

> Subject: Re: [Crosswalk-dev] Intent to Implement: LZMA support for

> Crosswalk

>

> Some of the questions I asked below still have not been answered as

> far as I can tell.

>

> Raphael Kubo da Costa 
> <[email protected]<mailto:[email protected]>> 
> writes:

> > "Dong, Jun" <[email protected]<mailto:[email protected]>> writes:

> >

> >> This use the LZMA library from SevenZip

> >> (http://sourceforge.net/projects/sevenzip/files/).

> >

> > What's the license of this code? Where will it be located?

> >

> >> The app will firstly extract the compressed library in its package,

> >> if it doesn’t found the library or the library is older.

> >

> > Can you elaborate? So the idea is to compress libxwalkcore.so,

> > decompress it once when loading and store the uncompressed version

> > somewhere and start using that one?

> >

> >> Crosswalk will provide a new method(onXWalkReady) for developers to

> >> customize their behavior when the decompression is completed.

> >

> > What kind of customization do you have in mind? At first it sounds

> > unnecessary to me.

> >

> >> Will add a new build flag(use_lzma), by default it is disabled in

> >> Crosswalk.

> >

> > I guess this is related to me not understanding the exact thing you

> > are proposing here, but why do we want a build flag if this offers

> > clear benefits? Are there any drawbacks you did not mention?

> >

> >> Risks/Opens:

> >>

> >> 1. Rebasing may introduce some regression.

> >

> > Why? Does this introduce changes to chromium-crosswalk?

> _______________________________________________

> Crosswalk-dev mailing list

> [email protected]<mailto:[email protected]>

> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to