There is a wonderful tutorial Building SAP Fiori-like UIs with SAPUI5 in 10 Exercises written by Bertram Ganz.
In this blog, I will show step by step how to package the UI5 application built by this tutorial as a native application into your Android device.
Here below are some screenshot of this UI5 running in my mobile phone.
1. install nodejs in your laptop, and add the installation folder to your environment variable.
2. Install Cordova via npm -g install cordova:
3. Create a new folder. And then go into this folder, create a new Cordova project via the following command:
Then a skeleton project with those files and folders are automatically created.
Platforms folder is empty so far since I don’t add any mobile platform yet.
4. Add android platform support via command: cordova platform add android
Once done, the necessary artifacts (Android platform specific) for APK generation are created under folder platforms/android.
Now you should have the folders with the following hierarchy:
5. By default there is a dummy index.html file existing in folder www. Using command cordova prepare, the index.html will be copied automatically to folder platforms\android\assets\www. So the general idea here is we always develop the artifacts of our web application in www folder. Once done, use cordova prepare to synchronize it to android platform related folder.
Then use command cordova compile, and you will see the APK file generated successfully.
You might meet with the error message below during compile:
In this case just download the binary version of gradle, unzip it and configure the executable file path in your PATH environment variable:
Install the APK into your mobile device and you should see the following picture:
6. I have uploaded my test Fiori application to my github.
Download folder scn_exercise and index.html from folder www, and copy it to your folder www in your local project.
7. Once done, execute cordova prepare and cordova compile once again, and the new APK will be created. Install it to your device to see final result.
Note: although the Fiori application itself can work offline with a mocked data model, in order to reduce the size of packaged APK file, I didn’t package UI5 library to the APK, but instead declare a reference to UI5 library with online version, which means when you test this application in your mobile phone, it is a must that your phone should have internet access.
If you don’t have an Android device, you can also test it in Emulator ( you have to install Android development studio first )
Create a new virtual device and launch it:
Then use the following command to install the APK into emulator:
Now you can test the application in emulator: