*Description*

We have the python-based make-apk and our adopters each have their own set
of tools, but they all make compromises in terms of workflow, dependencies,
and integration. My plan is to offer a packaging tool written in JavaScript
using node.js and distributed via NPM, that is as simple as possible, and
as powerful as needed, by relegating to Android SDK functionality wherever
possible. The tool will be built around the W3C Manifest specification from
the very beginning.

This project builds on the lessons learned from crosswalk-apk-generator and
crosswalk-packager-apk.

*Affected component*

crosswalk-app-tools on Github

*Timeline*

Alpha release end of 2014

*Implementation details*

$ crosswalk-app create <package-name>

Create app skeleton named <package-name> in the current directory. If there
is already a directory <package-name>, fail. <package-name> needs to follow
the Android package naming convention com.example.Foo, otherwise fail. The
Android SDK target picked by default is the oldest which the installed
Android SDK supports. If no Android SDK is found (command android), then
fail. The main activity is called “MainActivity” by default. Crosswalk is
downloaded into the project automatically, while downloading a progress
indication is displayed.

Example: $ crosswalk-app create org.example.Foo

$ crosswalk-app update <version>

Replace current Crosswalk with Crosswalk <version>. The new runtime is
downloaded from the website, and a progress indicator is displayed while
doing so. This command needs to be run from the top-level project directory.

$ crosswalk-app refresh

Update project after changes to AndroidManifest.xml, manifest.json once we
support it, or other relevant files. This command needs to be run from the
top-level project directory.

$ crosswalk-app build [”debug”=default | “release”]

Build IA and ARM APKs. If libxwalkcore.so for IA or ARM is missing, print
warning, and just build what is there. Before running, check if “update”
needs to be run.

$ crosswalk-app extension [“add” | ”remove”] <extension>

Add or remove an extension by giving the jar file. For adding, the jar
filename needs to include a path component where to import the file from.
This feature needs to be investigated in detail, and put on the roadmap.
_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to