White Labeling the WSO2 EMM Android Agent
Prerequisites
Download and install Android Studio.
For more information, see installing Android Studio.
Replace the
android.jar
file that is in the<ANDROID_STUDIO>/<SDK location>/platforms/android-<CURRENT_API_LEVEL>
directory with theandroid.jar
file found here.Why is this needed?
The WSO2 Android agent requires access to hidden APIs (APIs that are available at runtime). Therefore, you need to replace the
anrdoid.jar
file as mentioned in this step.- WSO2 EMM supports API levels 16 to 23. Therefore, install the Android API levels 16 to 23 on Android Studio.
- Open Android Studio.
- Click SDK Manager.
- Click the SDK Platform tab and select the 16 and 23 API levels.
Example: - Click Apply.
Changing Android Agent related logos and icons
Clone the
product-emm
repository. The folder will be referred to as<EMM_SOURCE_HOME>
throughout the documentation.git clone https://github.com/wso2/product-emm.git
Navigate to the
<EMM_AGENT_ANDROID>/res
directory.<EMM_AGENT_ANDROID>
refers to the<EMM_SOURCE_HOME>/modules/mobile-agents/android/client/client/src/main
file path.- Navigate to the
drawable-xxhdpi/
folder and change the following:- Change the
ic_launcher.png
(144px X 144px
) file in order to change the icon. For more information, go to the Android icon guide.
- Change the
Change the following file logos in order to change the header logos:
ic_logo.png
(240px X 72px
)ic_logo_darker.png
(240px X 72px)
repeat_bg.png
(277px X 125px
)
- Navigate to the
drawable-xhdpi/
folder.- Change the
ic_launcher.png
(96px X 96px
) file to change the icon. - Change the
ic_logo.png
(160px X 48px
),ic_logo_darker.png
(160px X 48px
) andrepeat_bg.png
(222px X 100px
) file in order to change the logos.
- Change the
- Navigate to the
drawable-hdpi/
folder.- Change the
ic_launcher.png
(72px X 72px
) file in order to change the icon. - Change the
ic_logo.png
(120px X 36px
),ic_logo_darker.png
(120px X 36px
) andrepeat_bg.png
(122px X 55px
) files in order to change the logos.
- Change the
- Navigate to the
drawable-mdpi/
folder.- Change the
ic_launcher.png
(48px X 48px
) file to change the icon. - Change the
ic_logo.png
(80px X 24px
) andic_logo_darker.png
(80px X 24px
) files in order to change the logos.
- Change the
- Navigate to the
Change the permanent device lock screen logo.
Navigate to the
<EMM_SYSTEM_SERVICE>/res/drawable-hdpi
directory.<EMM_SYSTEM_SERVICE>
refers to the<EMM_SOURCE_HOME>/modules/mobile-agents/android/system-service/app/src/main
file path.Replace the
id_logo_dark.png
file to change the icon.
- Open the client folder that is in the
<EMM_SOURCE_HOME>/modules/mobile-agent/android
directory via Android Studio. 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 built android.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: https://github.com/anggrayudi/android-hidden-api.
Build the project to create a new APK with the changes.
- 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<EMM_HOME>/repository/deployment/server/jaggeryapps/emm-web-agent/units/asset-download-agent-android/public/asset
directory.
Check out this blog to find out more on how you can change the UI of the Android EMM agent.