com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_link3' is unknown.

White Labeling the WSO2 Android Agent

Prerequisites 

  1. Download and install Android Studio.

    For more information, see installing Android Studio.

  2. Replace the android.jar file that is in the <ANDROID_STUDIO>/<SDK location>/platforms/android-<CURRENT_API_LEVEL>
    directory with the android.jar file. You can get the new jar file using one of the following options:

    • 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.

      Make sure to use the jar file that matches the compileSdkVersion of the WSO2 Android agent. Currently, the compileSdkVersion is 25.

    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.

  3. WSO2 IoT Server supports API levels 17 to 25. Therefore, install the Android API levels 17 to 25 on Android Studio.
    1. Open Android Studio.
    2. Click SDK Manager.
    3. Click the SDK Platform tab and select the 17 and 25 API levels.
      Example:
    4. Click Apply.

Changing Android Agent related logos and icons

  1. Download the Android agent source code. The folder will be referred to as <ANDROID_AGENT_SOURCE_CODE> throughout the documentation.

  2. Navigate to the <ANDROID_AGENT_SOURCE_CODE>/client/client/src/main/res  directory.

    1. 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 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 )
    1. 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) and repeat_bg.png (222px X 100px) file in order to change the logos.
    2. 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) and repeat_bg.png (122px X 55px) files in order to change the logos.
    3. 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) and ic_logo_darker.png  (80px X 24px) files in order to change the logos.
  3. Change the permanent device lock screen logo.

    1. Navigate to the  <ANDROID_AGENT_SOURCE_CODE>/client/client/src/main/res/drawable-hdpi directory.

    2. Replace  the ic_logo_dark.png file to change the icon.

  4. Open the client folder that is in the  <ANDROID_AGENT_SOURCE_CODE>/client  directory via Android Studio.
  5. 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. 

  6. Build the project to create a new APK with the changes.

  7. Rename the created.apk file to android-agent.apk.
  8. Copy the renamed file and replace it instead of the existing android-agent.apk. file that is in the <IOTS_HOME>/repository/deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/public/assets  directory.
com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.