Description:
Xwalk on Android already provides a package tool, detail can refer 
https://crosswalk-project.org/#documentation/getting_started/building_an_application/Packaging-for-Android
Currently, web developers need to download different "xwalk_app_template" for 
different archs(x86 and arm).
I want to improve the user experience by providing one for all arch template, 
and developer can choose which arch to build apk for by command line args. By 
default, the tool will generate apks for each of the archs it support.

Affected component:

1.       Android package tool

2.       Build infrastructure

3.       Release infrastructure

Related feature: (Jira ID)
https://crosswalk-project.org/jira/browse/XWALK-598

Target Release: (Crosswalk N)
Crosswalk 3

Implementation details:
To achieve this, two parts of implementation is needed.

1.       For package tool, current behavior is, that if it contains native 
libraries more than one archs, it will package them together into the target 
apk.

a.       Change the process to iterate over the native libraries and create apk 
for each one of them, and name the output by using abi name as suffix.

b.      If developer specifies the arch by -arch=x86/arm, the tool will check 
if the corresponding native library is available and then create the apk.

2.       For build system, we need to get the template containing both arm and 
x86 native libraries.

a.       After investigation, it's impossible to make xwalk build both arm/x86 
libraries in one compilation. It's because, which arch to build is decided by 
the "target_default" setting in "src/build/common.gypi".

b.      If built from the same code base, xwalk_app_template for x86 and arm 
should only be different at "libs/<arch_name>/libxwalkcore.so", so merge them 
together can make a template meets our requirement.

c.       For build infrastructure, to ensure the same code base, could use "gyp 
-Goutput_dir=out_<arch>" to build different arch in different folder from the 
same code, and add  step to merge the output together.

d.      For release infrastructure, the code base is already guaranteed same by 
the xwalk version, just need to add additional step to merge the template.

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

Reply via email to