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