Android SDK v4 Installation Guide
Note: This guide applies to WOVN SDK v4.0.0 and later. For earlier versions, please contact support.
Overview
This guide walks you through manually installing the WOVN SDK in your Android application. The installation consists of two main steps:
- Import and Configure - Add the WOVN SDK to your project and set up basic configuration
- Enable Lifecycle Tracking - Allow the SDK to monitor your app's activities for automatic translation
Step 1: Import and Configure the WOVN SDK
1.1 Add Required Permissions
The WOVN SDK needs internet access to download translations and report usage data. Add these permissions to your AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1.2 Add the WOVN SDK Library
- Download the WOVN SDK file (
wovnapp-release.aar) from the link provided by Customer Support - Create a
libsfolder in your project root if it doesn't exist - Copy the
.aarfile tolibs/wovnapp-release.aar - Add this dependency to your module's
build.gradle:
dependencies {
implementation files('../libs/wovnapp-release.aar')
}
1.3 Create Configuration File
Create a wovn.properties file in your app/src/main/assets folder with this configuration:
token=#{token} # Replace with your WOVN token
loglevel=0 # 0: All logs; 1: Debug and up; 2: Info and up; 3: Warning and up; 4: Only Error; 5: No log. Recommended to set to 0 initially for debugging.
translation_preview_mode=true # https://wovnio.github.io/WovnAppDocumentation/docs/English/Android/preview_translation
Verify Step 1
You should have modified or created these files:

Run your app and check Logcat. Filter by Wovn: loadDataAndStartWovn: to see:
Wovn: loadDataAndStartWovn:
WOVN: Report:Off;ClientID: f147c92d-3d51-442a-871e-6aeb526cc0ea
Development mode enabled: false
ClientID: f147c92d-3d51-442a-871e-6aeb526cc0ea
Helpers.getDeviceLanguages [ko-KP, en-US, ja-JP, vi-VN, it-IT, zh-Hans-CN, zh-Hant-TW]
Available Languages: [zh-CHS, en-US, vi, ja, it, en-GB, zh-CHT, nl]
Current Language: en-US
Step 2: Enable Lifecycle Tracking
The WOVN SDK needs to monitor your app's activities to provide automatic translation. Add lifecycle tracking to your Application class (typically a file ending with App or Application that extends the Application class):
final WovnActivityLifecycleCallbacks wovnActivityLifecycleCallbacks = new WovnActivityLifecycleCallbacks();
this.registerActivityLifecycleCallbacks(wovnActivityLifecycleCallbacks);
Complete example:
package io.wovn.app.demo;
import android.app.Application;
import io.wovn.wovnapp.Wovn;
import io.wovn.wovnapp.WovnActivityLifecycleCallbacks;
public class WovnDemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// You need to add the following 2 lines to enable the WOVN SDK to follow your app's lifecycle for automatic translation
final WovnActivityLifecycleCallbacks wovnActivityLifecycleCallbacks = new WovnActivityLifecycleCallbacks();
this.registerActivityLifecycleCallbacks(wovnActivityLifecycleCallbacks);
}
}
Verify Step 2
Run your app and filter Logcat by WovnActivityLifecycleCallbacks. You should see lifecycle events being tracked:
WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityDestroyed: activity: io.wovn.app.demo.activities.TextsActivity@eb3c63a
WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.MainActivity@faee4a8
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityDestroyed: activity: io.wovn.app.demo.activities.WovnIgnoreScreenA@ee4ffb3
WovnActivityLifecycleCallbacks: onActivityCreated: activity: io.wovn.app.demo.activities.EditsActivity@9024e02
WovnActivityLifecycleCallbacks: onActivityStarted: activity: io.wovn.app.demo.activities.EditsActivity@9024e02
WovnActivityLifecycleCallbacks: onActivityStopped: activity: io.wovn.app.demo.activities.MainActivity@faee4a8tex
Next Steps
After completing the installation:
- Activate Development Mode - Register your device's Client ID to enable reporting and instant translation updates
- Test your app - Navigate through as many screens as possible
- Check the Dashboard - Your app's activities should appear as pages ready for translation
