Javascript functions defined in keyboard.html need the window loaded before they can be called. -Also cleaned up formatting in keyboard.html |
||
|---|---|---|
| .. | ||
| KMAPro | ||
| KMEA | ||
| Samples | ||
| .editorconfig | ||
| .gitignore | ||
| build.sh | ||
| README.md | ||
Keyman for Android & Keyman Engine for Android
Minimum Android Requirements
Keyman for Android has a minSdkVersion of 15 for Android 4.0.3 Icecream Sandwich
Setup Android Studio
- Download Android Studio and install with these instructions.
- For Windows users, set environment variable ANDROID_HOME to the location of your Android SDK. The default installation location is C:\Users\[USER]\AppData\Local\Android\sdk where [USER] is your username. You may need to log out and log back in to take effect.
For Linux users, add the following to ~/.bashrc
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
- From a Git Bash Prompt window, cd to the sdk/tools/bin folder and accept all the SDK license agreements
yes | ./sdkmanager.bat --licenses
- If you plan to test on a physical device via USB, install the appropriate OEM USB drivers
- Install Java SE Development Kit
Keyman for Android Development
Keyman for Android (formerly named KMAPro) can be built from a command line (preferred) or Android Studio. Before proceeding to the steps below, make sure you can build the Keyman Engine for Android first. That will ensure all the needed SDK files are downloaded.
Compiling from Command line
-
Launch a command prompt
-
Change to one of these directories depending on what you want to compile:
-
For compiling KMEA and KMAPro, cd to the directory keyman/android
-
For compiling only KMAPro, cd to the directory keyman/android/KMAPro
-
-
./build.sh -
APK will be found in
KMAPro/kMAPro/build/outputs/apk/kMAPro-*.apk
Compiling from Android Studio
- Launch Android Studio and open the directory keyman/android/KMAPro
- From the project view, configure anything that Gradle reports.
- With kMAPro selected, click Build --> Make Module 'kMAPro'
- Select Run --> Run 'kmAPro'
- Create a new virtual device to match your target API version
Running emulator from Command line
-
Launch a command prompt
-
cd to the ANDROID_HOME directory (see the setup step above for where it is)
-
cd tools
-
Launch the emulator
i. To get a listing of created emulator devices:
emulator.exe -list-avdsii. ./emulator.exe @nameofemulator
-
Load the APK
i. Launch another command prompt (emulator is running from the first prompt)
ii. cd to android/Samples/KMSmaple1/app/build/outputs/apk
iii. Where $ANDROID_HOME is the path to the Android SDK
$ANDROID_HOME/platform-tools/adb.exe install app-debug.apk
Sample Projects
There are two included sample projects that can be modified to test a keyboard.
android/Samples/KMSample1 app runs a bare Keyman app for testing a keyboard.
android/Samples/KMSample2 app provides prompts for setting KMSample2 as a system level keyboard. Both sample apps include a default Tamil keyboard.
Building these projects follow the same steps as KMAPro:
- Build KMEA
- cd to the desired KMSample directory
./build.sh- Open Android Studio to run the app
How to build Keyman Engine for Android
- Open a terminal or Git Bash prompt and go to Keyman Engine for Android project folder (e.g.
cd ~/keyman/android/KMEA/) - Run
./build.sh
Keyman Engine for Android library (keyman-engine.aar) is now ready to be imported in any project.
A copy can be found at android/Samples/KMSample1/app/libs/keyman-engine.aar
How to use Keyman Engine for Android library
- Copy
keyman-engine.aarinto[Your project folder]/app/libs/folder. - Open your project in Android Studio.
- Open
build.gradle(Module: app) in "Gradle Scripts". - include
compile(name:'keyman-engine', ext:'aar')in dependencies. - after dependencies, insert
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
- include
import com.tavultesoft.kmea.*;to use Keyman Engine in a class.