Run any MDK project in the MDK client without deployment on SCPMS
In this blog post, you will learn to run any MDK project in the MDK client without deploying the MDK code on SCPMS (SAP Cloud Platform Mobile Services).
Many times we do the MDK development in SAP BAS/WEBIDE/Visual Studio and would like to do the delta testing of our development in the simulator/device before deploying the MDK project on SCPMS as there are other developers parallelly working on the same MDK project and our deployment might impact their work if our deployed code consists some bugs. So local delta testing is the key process before deploying our MDK code to SCPMS.
So how can we achieve this?
I would take you to a step by step process to achieve the objective –
a) Download the latest version (4.3.1) of Mobile Development Kit SDKeither from SAP Software Content Downloads or SAP Marketplace if you are a SAP Cloud Platform Mobile Services customer
b) Follow tutorial – https://developers.sap.com/tutorials/cp-mobile-dev-kit-build-client.html till step 3
c) Now download your MDK project(crudApp) from BAS studio
d) Unzip the download .tar file
e) Copy the downloaded crudApp Mdk project inside the metadata folder of DemoSampleApp.mdkproject created as per step 2.
f) Now inside the DemoSampleApp.mdkproject> json , add “BaseProject”: “crudApp”
g) Now Create the MDK Client running ./create-client.commandand providing the path to a valid .mdkproject
You will be asked whether you would like to build for iOS or Android or All?
Then, you will be asked whether you would like to build for device or simulator?
ios option was chosen in our case. simulator option was chosen for our case.
Once the create-client.command script executed successfully, you will see Application ready message in terminal console.
You will also find your app created under the MDKClient_SDK folder.
h) Now we would run the local custom MDK client on the simulator by executing the below command –
tns run ios –emulator
i) Now let’s add the DemoSampleApp.mdkproject to Visual Studio and change the title of the Main Page from “Main” to “Demo”. As soon as we do the change and save, the simulator automatically gets updated with the new content, without the need for deploying our code in SCPMS
So finally, now you can see that the local custom MDK client is loading the metadata from the local copy of my MDK project (CrudApp) and not from SCPMS.
This is a very useful feature to allow parallel development on the MDK project without impacting other developer’s work as we do not need to do depend on SCPMS deployment to test our MDK App.
- Do not update the app on getting the update popup within the MDK client which if done will then route the MDK client back to SCPMS.
- The above steps are performed in the MAC OS.
Kindly ask any doubts/questions in the comments below.
I attempted this(Running android emulator in windows). However my changes are not getting picked up the emulator. Any reasons for this?
Thanks in advance!
Can you share more details for me to advise?