Hi, Robert

My question is:
1) what will be the behavior if developer still chooses packaging for one CPU 
arch?
Will it fallback to package the native library within the apk? And what’s the 
startup state flow in such case?
Note that PlayStore is not the only channel to publish Android Apps, but 
probably is the only channel supports expansion files.
2) Be aware that Crosswalk on Android has two usage model: XWalk Runtime (using 
make_apk to create apk) and XWalk Embedding API (adopt xwalk core library and 
directly use XWalkView in java code). In Embedding API usage, we are not able 
to affect how developer packaging API.
So In my mind, the feature should be only for Runtime usage. So the 
implementation of startup process (finding the native library from expansion 
files) should be out of XWalk Core.
This requires a) Embedding API provide an API to set library load path, 
probably in Preference. b) in Runtime code, find the native library and set 
preference before creating any XWalkView instance.

Thanks,
Shiliu.

From: Crosswalk-dev [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] 
On Behalf Of Staudinger, Robert
Sent: Wednesday, July 9, 2014 9:39 PM
To: crosswalk-dev@lists.crosswalk-project.org
Subject: [Crosswalk-dev] Intent to Implement - Multiarch packages via expansion 
files

Summary
Many developers, for various reasons, do not provide both IA and ARM packages 
for their Crosswalk-based applications. Changing the packaging mode to always 
deliver both runtimes via an expansion file will solve this problem.

Expansion File Info/"Spec"
https://developer.android.com/google/play/expansion-files.html

Affected Components
xwalk core, make_apk
Related feature in JIRA
https://crosswalk-project.org/jira/browse/XWALK-1626
Target Release
Crosswalk 8

Target Pelease
Crosswalk for Android
Implementation details
1. When a Crosswalk application starts, check if the runtime (libxwalkcore.so) 
has already been extracted from the expansion file, otherwise extract it to the 
application's private file storage.
2. Load JNI runtime and start app.
3. Make_apk needs to be modified so it creates packages consisting of apk and 
expansion file.
4. I am proposing to make this an optional feature at first and advertise it to 
the devlopers, and later on reevaluate whether it could become default.
5. The obvious disadvantage is increased disk footprint, but what we get in 
return is automatic multi-arch support.

Thanks,
Rob

_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to