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
[...]