Lgtm, looking forward this change get in.

From: Crosswalk-dev [mailto:[email protected]] 
On Behalf Of He, Ke
Sent: Wednesday, April 01, 2015 6:37 PM
To: [email protected]
Subject: [Crosswalk-dev] Intent to Implement: Enable proguard for crosswalk to 
compress apk size


Description:
It is meaningful to compress the apk size which is built by crosswalk sdk. 
Proguard is a tool which can do shrink and obfuscate operations on the java 
class bytecode files. Those shrink and obfuscate operations on crosswalk jar 
libraries can minimize the final apk size. Note that the purpose of obfuscating 
is to compress jar size instead of preventing de-compilation. Crosswalk jars 
are in package org.xwalk.* and org.chromium.*. Since we generate wrapper and 
bridge layer and use the reflection mechanism to separate core and 
core.internal layer, and there are much hard code reference on method and class 
name when using reflection, so we don't shrink or obfuscate classes in package 
org.xwalk.*

Affected component:
Make_apk.py, proguard config file, document

Related feature:
Enable proguard for crosswalk to compress apk size.
JIRA: https://crosswalk-project.org/jira/browse/XWALK-3854

Target release:
Crosswalk-14

Implementation details:
1.       The proguard library is included in android-sdk/tools/. And it can be 
easily enabled by change the project.property file in android application 
project. The default android build.xml for ant has the obfuscate target which 
supports proguard.
2.       Create proguard config files, add the rules like keep xwalk classes, 
keep JNI and calledbyNative functions.  Add the proguard config file in 
xwalk/template, which will be delivered together with the xwalk sdk.
3.       Enable proguard by modifying the gyp file of instrumentation test 
project,  make sure test cases for embedded mode can all pass.
4.       Modify make_apk.py,  add a new build flag --enable-proguard option, by 
default it is disabled. It only works with embedded mode. Copy the proguard 
dumping and mapping files for user.
5.  Update crosswalk wiki for users who want embedding API, attach the proguard 
config list and a guide how to enable proguard.


Best Regards
He,Ke


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

Reply via email to