Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.
This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:
```
if [[ -v _builder_params[$e] ]]; then
```
When working on a new build script, I tripped over the `-?` question
mark help parameter here, as it needs to be escaped. Opted to fix all
the instances in our scripts, although AFAICT there would not have been
current bugs arising from this, as there were no conflicting one
character options lower in the case list.
Fixes#2989
This updates the minimum supported Android SDK to 21 (Lollipop). This applies to KMEA, KMAPro, Sample Apps, KeyboardHarness, and FV Android app.
Tests/keyCode doesn't use KMEA so no change there.
#2640 fixed the FirstVoices OEM app from crashing on Android 5.0 devices.
This applies the same fix (updating to `androidx.appcompat:appcompat:1.2.0-alpha02`) for all the other Android apps.
* Also fix up history.md entries
Android Studio is warning a call (from Firebase) will be deprecated end of 2019. This updates the versions of
* Frebase
* Gradle from 4.10.1 to 5.1.1
Also stubs a missing keyboard event handler in some of the sample/test projects.
Fixes#750
Currently, Keyman for Android targets SDK version 25 (Nougat).
This PR targets the latest Android API and updates all the Gradle dependencies to the latest. This will remove some lint Obsolete warnings.
Sample and Test projects needed to add
```
implementation 'com.android.support:support-v4:27.1.1'
```
to ensure all dependencies use the same version.
Consumers of KMEA need to include Firebase and Crashlytics dependencies, but don't need to run the Google services. This simplifies these projects of not neeeding google-services.json.
Also added `-no-daemon` and `-debug` options to Samples and Test `build.sh` scripts so they can be run on CI servers.
Per Android Studio 3.0 [Release Notes](https://android-developers.googleblog.com/2017/10/android-studio-30.html)
-Update gradle version
-Change deprecated `compile` dependencies to `implementation` or `api`
-Change maven repositories to google (triplet plugin still on maven)
- Update readme instructions for using the engine
n trying to build Keyman for Android on Linux, the following issues needed to be fixed:
Set `build.sh` and `gradlew` scripts to executable
KMEA/build.sh needs an OS check so build.bat is only called on Windows
web/source/build.sh needs $compiler and $copmiler_warnings values in quotes