Crosswalk Project Lite - PeterWangIntel/crosswalk-website GitHub Wiki
For smaller applications, an increased size of approximately 20MB might be too much for some users. As these users often don't depend on advanced features such as WebRTC, Crosswalk Project Lite attempts to make some hard cuts, bringing you a smaller redistributable runtime, while still having most common features available.
In the end, what Crosswalk version you choose depends on your needs, and we are happy to listen to input on your exact requirements.
Some quick facts:
- Crosswalk Project Lite (Lite for brevity) is approximately half the size of the regular Crosswalk
- Lite is Android only and doesn´t support shared mode (info)
- This leaves around 40MB for application data, due to the current limit of 50MB in Google Play store
- Supports x86, x86_64, ARM and ARM64
- Lite is not released as often as mainline Crosswalk, nor it is rebased to the latest Chromium with the same cadence
- We do test Lite, but our main focus remains the mainstream Crosswalk. Also, because Lite diverges from Chromium more than Crosswalk does, there may be unexpected bugs
- Eventually, if the optimizations done in Lite prove to be safe, they will be merged to the official Crosswalk releases
Long term, we would like to improve Chromium, Blink and Crosswalk to modularize its features, so that specific features (like WebRTC) can be turned on at the time the users build an APK. The full list are located at Crosswalk-Lite-Disabled-Feature-List
Crosswalk Project Lite is developed in a separte branch, though we will consider backporting relevant patches to Crosswalk proper.
- Uses a separate branch and has separate binary releases
- Features which are cut off are evaluated closely by the team and users are encouraged to provide feedback
- Code reviews and contribution model is the same as for Crosswalk
- Currently the project does not follow canary/beta/stable channels like the main project
- Release cycles are 12-week - or on-request.
-
To use Crosswalk Project Lite, follow the same instructions as regular Crosswalk (see below)
-
The first time the application runs, the following UI dialog is displayed:
- Download URL: https://download.01.org/crosswalk/releases/crosswalk/android/lite/canary/VERSION/crosswalk-lite-VERSION.zip
- Document: Same as https://crosswalk-project.org/documentation/getting_started.html
- Download URL:
- x86: https://download.01.org/crosswalk/releases/crosswalk/android/lite/canary/VERSION/x86/crosswalk-lite-webview-VERSION-x86.zip
- arm: https://download.01.org/crosswalk/releases/crosswalk/android/lite/canary/VERSION/arm/crosswalk-lite-webview-VERSION-arm.zip
- Document: Mostly same with https://crosswalk-project.org/documentation/embedding_crosswalk.html except new interface
onXWalkReady()
- New API
org.xwalk.core.XWalkActivity.onXWalkReady()
- This API is introduced to check whether the Crosswalk environment is available to use. Crosswalk environment is not available under two scenarios:
- Shared mode: Need download from app store like Google Play
- Crosswalk Lite: The libxwalkcore.so is compressed with lzma, need to decompress it first.
- Changes needed to adapt to this new API:
-
XWalkView
initialization code moved fromonCreate()
toonXWalkReady()
. - Activity should inherit from
org.xwalk.core.XWalkActivity
instead ofandroid.app.Activity
. - In
AndroidManifest.xml
,android:name
should change toorg.xwalk.core.XWalkApplication
. - Example: crosswalk-test-suite PR #1720:
-
- Note: This new API will be introduced to Crosswalk 12 as well, see Crosswalk PR 2780. This means that none of the changes above will be needed once Crosswalk Lite is rebased to Crosswalk 12.
- This API is introduced to check whether the Crosswalk environment is available to use. Crosswalk environment is not available under two scenarios:
- Download URL:
- x86: https://download.01.org/crosswalk/releases/crosswalk/android/lite/canary/VERSION/x86/crosswalk-lite-cordova-VERSION-x86.zip
- arm: https://download.01.org/crosswalk/releases/crosswalk/android/lite/canary/VERSION/arm/crosswalk-lite-cordova-VERSION-arm.zip
- Document:
- New app based on Crosswalk Lite Lite: Same as https://crosswalk-project.org/documentation/cordova.html
- Migrate app from Cordova-crosswalk mainline build(canary/beta/stable):
- Apply the change to
AndroidManifest.xml
as embedding API,android:name
should change toorg.xwalk.core.XWalkApplication
. Otherwise, same as https://crosswalk-project.org/documentation/cordova.html
- Apply the change to
- Migrate app from upstream Cordova:
- Besides https://crosswalk-project.org/documentation/cordova/migrate_an_application.html, the above changes for embedding API should be applied.
To contribute to Crosswalk Project Lite, follow the same guideline as in https://crosswalk-project.org/contribute/
gclient config --name=src/xwalk \
git://github.com/crosswalk-project/crosswalk.git@origin/crosswalk-lite