Sideloading your application

Minimum version

Make sure you use the Evam SDK version 2.2.0 or above to use this feature.

Android platform tools

The Android platform tools need to be installed on your computer.

Attention

Choose the right Development setup!

Sideloading should be done when your application has been developed and is fully working in the development environment.

Sideloading an app in the Evam platform offers little debugging access or error messages, which is beneficial when an app still undergoes development.

If your app is still being actively developed, consider using the in-browser development environment to ensure a smooth developer experience.

See Development environment for more information about the available development environments.

Once developed, you may wish to run your application in an Evam device to showcase it running within the Evam platform.

To achieve this, you will need access to an Evam device. Get in touch with your Evam representative for this.

Step 1 - Review your Evam manifest

Under public/evam.json, make sure to setup your Evam manifest with all required fields. This is required for the platform to load the application correctly.

See Using the Evam SDK for the Evam manifest format.

Step 2 - Build a release version of your application

You should build your application:

npm run build

This will create a build/ directory with the release application files.

Step 3 - Connect your Evam device to your computer

Start by physically connecting your Evam device to your computer, your OS should notify you upon successful connection.

Then, make sure developer options and USB debugging are enabled in the Evam device. Refer to the Android Developer documentation to achieve this. Make sure you also grant access to your computer by accepting the popup in the Evam device.

Step 4 - Install your app by sideloading

You can now sideload your application:

npm exec evam-sideload

This command will install all required files to run your application within the Evam platform. Pay attention to its output to know if there is any issue.

A successful install should output something similar to this:

Installing to <SERIAL>...
Created directory
Created directory
Started installation
Pushing 
Pushing /asset-manifest.json
Pushing /evam.json
Pushing /favicon.ico
Pushing /index.html
Pushing /logo.png
Pushing /manifest.json
Pushing /robots.txt
Pushing /static
Pushing /static/css
Pushing /static/css/main.87781695.css
Pushing /static/css/main.87781695.css.map
Pushing /static/js
Pushing /static/js/787.cfcfd7eb.chunk.js
Pushing /static/js/787.cfcfd7eb.chunk.js.map
Pushing /static/js/main.1431c619.js
Pushing /static/js/main.1431c619.js.LICENSE.txt
Pushing /static/js/main.1431c619.js.map

Step 5 - Run the application

You may now start Vehicle Services on your Evam device.

Your application will show in the GUI shell with your logo and name. Clicking its icon will open it.

The application will remain installed, so you do not need to install it again.

If you need to update the installed application, you should re-run this flow from step 3. Keep in mind you will need to restart Vehicle Services for the changes to apply.

At the moment, only one application can be sideloaded at a time, so sideloading a new application replaces the previous one.

Step 6 - Debugging

There is no proper debugging support when an app is sideloaded at the moment, but you can still access the logs your application is outputting during its runtime.

If your application is using console.log to print debug information, you may see them by accessing the Evam device’s logcat:

console.log("Hello world!")

results in:

$ adb logcat
[...]
02-27 17:38:13.597 27534 27534 D WebAppWebChromeClient-life.evam.hydras.microapp.dev: [LOG] Hello world! -- From line 417 at /assets/index-CrvJ8TfU.js
[...]