You will want to make changes to the Android Application Package (APK) that is in WSO2 IoT Server to suit your business or Organization requirements. For example, you will want to white label the WSO2 Android agent. In such situations, you need to do the required changes and create a new APK file.
...
Excerpt | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
...
Clone the cdmf-agent-android GIT repository. This will be referred to as
<ANDROID_AGENT_SOURCE_CODE>
.Code Block https://github.com/wso2/cdmf-agent-android.git -b <ENTER_THE_VERSION>
Info Check the WSO2 IoT Server and Agent Compatibility and find out what branch of this repo you need to clone.
Example: WSO2 IoT Server 3.0.0 is compatible with the WSO2 Android agent 2.0.0. Therefore, the release tag will be release-2.0.0.- Open the client folder that is in the
<ANDROID_AGENT_SOURCE_CODE>
via Android Studio. - Do the necessary changes you wish to make.
Example:
White Labeling the WSO2 Android Agent or changing the Android agentSERVER_PROTOCOL
tohttps
andSERVER_PORT
to 9443
in theconstant.java
file that is in the<ANDROID_AGENT_SOURCE_CODE>/client/client/src/main/java/org/wso2/emm/agent/utils
directory. The Android agent can't be built via the usual android developer SDK, as it requires access to developer restricted APIs. Therefore, you need to replace the existing
android.jar
file that is in the<SDK_LOCATION>/platforms/android-<COMPILE_SDK_VERSION>
directory with the explicitly builtandroid.jar
file that has access to the restricted APIs.
You can get the newjar
file using one of the following methods:Download the Android Open Source Project (AOSP) and build the source code to get the
jar
file for the required SDK level.- Use a pre-built jar file from a third party developer. You can find it here.
Build the project to create a new APK file that has all the changes you made.
- Rename the created
.apk
file toandroid-agent.apk
. - Copy the renamed file and replace it instead of the existing
android-agent.apk
file that is in the<
directory.IoT_HOME>/core/repository/deployment/server/jaggeryapps/devicemgt/app/pagesunits/cdmf.unit.device.type.android.type-view/public/assets