spiegel-keyman/android
darcywong00 d66f52b350 Update Samples and Tests projects for handler API change
Updates to new onKeyboardChanged signature

Also incorporated external keyboard support to KMSample2
2017-10-04 10:33:16 +07:00
..
KMAPro Update isChiral on keyboard shown / changed 2017-10-04 10:33:16 +07:00
KMEA Update isChiral on keyboard shown / changed 2017-10-04 10:33:16 +07:00
Samples Update Samples and Tests projects for handler API change 2017-10-04 10:33:16 +07:00
Tests/KeyboardHarness Update Samples and Tests projects for handler API change 2017-10-04 10:33:16 +07:00
.editorconfig Keyman for Android 2.8 Open Source 2017-07-21 11:52:22 +07:00
.gitignore Start addressing review comments 2017-10-04 10:33:16 +07:00
build.sh Stop gradle daemon from starting when we are running CI 2017-08-21 16:23:02 +07:00
history.md Start adding chirality modifiers to KMEA 2017-10-04 10:33:16 +07:00
README.md Add recommendation of stable library to latest build 2017-09-04 11:51:57 +07:00

Keyman for Android & Keyman Engine for Android

Minimum Android Requirements

Keyman for Android has a minSdkVersion of 15 for Android 4.0.3 Ice Cream Sandwich

Setup Android Studio

  1. Download Android Studio and install with these instructions.
  2. 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 MacOS/Linux users, add the following to ~/.bashrc or ~/.bash_profile

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
  1. For Windows users, from a Git Bash Prompt window, cd to the sdk/tools/bin folder and accept all the SDK license agreements
yes | ./sdkmanager.bat --licenses
  1. If you plan to test on a physical device via USB, install the appropriate OEM USB drivers
  2. 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.

Compiling From Command Line

  1. Launch a command prompt
  2. 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
  3. ./build.sh
  4. The APK will be found in KMAPro/kMAPro/build/outputs/apk/kMAPro-*.apk

Compiling From Android Studio

  1. Ensure that Keyman Engine for Android is built.
  2. Launch Android Studio and import the Gradle project keyman/android/KMAPro/build.gradle
  3. From the project view, configure anything that Gradle reports.
  4. Create a run configuration for kMAPro
    1. Select Run --> Edit Configurations...
    2. Select Add New Configuration (+) --> Android App
    3. Change Module to kMAPro
    4. Name your run configuration kMAPro (or as desired)
  5. Run your new configuration: Select Run --> Run 'kMAPro'
  6. Select a physical device or create a new virtual device to match your target API version

Running From Command Line

  1. Launch a command prompt
  2. Ensure that a physical device is connected or an emulator is running.
    1. To list physical devices: $ANDROID_HOME/platform-tools/adb.exe devices
    2. To list created emulator devices: $ANDROID_HOME/tools/emulator.exe -list-avds
    3. Create a new virtual device if there are no existing devices.
    4. Start an emulator: $ANDROID_HOME/tools/emulator.exe @nameofemulator
  3. Load the APK: $ANDROID_HOME/platform-tools/adb.exe install -r path/to/apk.apk
    • If multiple devices are connected you may need $ANDROID_HOME/platform-tools/adb.exe install -r -s SERIAL path/to/apk.apk. Replace SERIAL with the device serial number listed in step 2.

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:

  1. Build KMEA
  2. cd to the desired KMSample directory
  3. ./build.sh
  4. Open Android Studio to run the app

How to Build Keyman Engine for Android

  1. Open a terminal or Git Bash prompt and go to Keyman Engine for Android project folder (e.g. cd ~/keyman/android/KMEA/)
  2. Run ./build.sh

Keyman Engine for Android library (keyman-engine.aar) is now ready to be imported in any project.

How to Use Keyman Engine for Android Library

  1. Add keyman-engine.aar into [Your project folder]/app/libs/ folder. a. We recommend downloading the the latest stable release of Keyman Engine and extracting the .aar file. b. If you choose to use your own build of the Keyman Engine, get the library from android/Samples/KMSample1/app/libs/keyman-engine.aar
  2. Open your project in Android Studio.
  3. Open build.gradle (Module: app) in "Gradle Scripts".
  4. include compile(name:'keyman-engine', ext:'aar') in dependencies.
  5. after dependencies, insert
    repositories {
        mavenCentral()
        flatDir {
            dirs 'libs'
        }
    }
  1. include import com.tavultesoft.kmea.*; to use Keyman Engine in a class.