Skip to content
Llama Pack 🦙 is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) using a Trusted Web Activity.
JavaScript TypeScript Shell
Branch: master
Clone or download
Latest commit 40d6dec Dec 5, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Adds lint to CI check Nov 16, 2019
bin Fixes issues running the project Nov 26, 2019
src Removes dangling console.log Dec 5, 2019
template_project Adds TwaManifest and enables update (#29) Nov 25, 2019
.eslintignore Initial Commit Nov 8, 2019
.eslintrc.json Add @typescript-eslint/eslint-plugin Dec 1, 2019
.gitignore Set up for TypeScript conversion. Nov 25, 2019
CONTRIBUTING.md Initial Commit Nov 8, 2019
LICENSE Initial Commit Nov 8, 2019
README.md Update README.md Nov 27, 2019
ROADMAP.md Initial Commit Nov 8, 2019
jasmine.json Set up for TypeScript conversion. Nov 25, 2019
package-lock.json Merge pull request #42 from NotWoods/tslint Dec 1, 2019
package.json Merge pull request #42 from NotWoods/tslint Dec 1, 2019
tsconfig.json

README.md

🦙Llama Pack

Node CI Status

Llama Pack is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWA) using a Trusted Web Activity (TWA).

Important: llama-pack is still under active development. The tool hasn't been tested on a wide range of Web APKs, and bootstraping a new project may fail in those cases. Please, file issues, feature requests, and contribute with pull requests, if possible.

Requirements

Setting up the Environment

Get the Java Development Kit (JDK) 8.

The Android Command line tools requires the correct version of the JDK to run. To prevent version conflicts with a JDK version that is already installed, llama-pack uses a JDK that can unzipped in a separate folder.

Download a version of JDK 8 that is compatible with your OS from AdoptOpenJDK and extract it in its own folder.

Warning: Using a version lower than 8 will make it impossible to compile the project and higher versions are incompatible with the Android command line tools.

Get the Android command line tools

Download a version of Android command line tools that is compatible with your OS from https://developer.android.com/studio#command-tools. Create a folder and extract the downloaded file into it.

Tell llama-pack where the JDK and Android command line tools are

When running llama-pack for the first time, it will ask where it can find the JDK and Android command line tools. So, take note of the location where both were decompressed.

Using llama-pack

Initializing an Android Project

Generate an Android project from an existing Web Manifest:

npx GoogleChromeLabs/llama-pack#0.1.0 init --manifest https://my-twa.com/manifest.json

When initalizing a project, llama-pack will download the Web Manifest and ask you to confirm the values that should be used when building the Android project.

It will also ask you for the details needed to generate a signing key, used to sign the app before uploading to the Play Store.

Building the Android Project

npx GoogleChromeLabs/llama-pack#0.1.0 build

When building the project for the first time, the Android Build Tools will need to be installed. The tool will inkove the installation process for the build tools. Make sure to read and accept the license agreement before proceeding.

As a result of the build step, the tool will generate a signed APK (app-release-signed.apk) that can be uploaded to the Play Store. You will also need to deploy a Digital Asset Links file to validate your domain. The TWA Quick Start Guide explains how to extract the information needed to generate it.

Contributing

See CONTRIBUTING for more.

License

See LICENSE for more.

Disclaimer

This is not a Google product.

You can’t perform that action at this time.