master
latest build:
master
coverage:
Android (f/w 2.1+, API level 7+) on screen keyboard for multiple languages.
Sign up to beta-channel here. Beta versions are pushed via Google Play Store.
- All kinds of keyboards:
- supporting lots of languages via external packages. E.g., English (QWERTY, Dvorak, AZERTY, Colemak, and Workman), Hebrew, Russian, Arabic, Lao, Bulgarian, Swiss, German, Swedish, Spanish, Catalan, Belarusian, Portuguese, Ukrainian and many more.
- Special keyboard for text fields which require only numbers.
- Special keyboard for text fields which require email or URI addresses.
- Physical keyboard is supported as-well.
- Auto capitalization.
- Word suggestions, and Next-Word suggestions.
- Special key-press effects:
- Sound on key press (if phone is not muted).
- Vibrate on key press.
- Voice input.
- Incognito Mode - will not learn new words, will not keep history of what was typed (including emoji history).
- Plenty of emojis - long-press the smiley key. You customize those by clicking the Settings icon in emojis window.
- More on AnySoftKeyboard can be found here
- Every commit to master branch will deploy a new release to the ALPHA channel in Google Play-Store. You can subscribe to this release channel by joining the Google+ group, and opt-in by visiting this link.
- Every once in a while, a stable enough ALPHA will be promoted to BETA. You can opt-in to this channel by visiting this link.
- Once all requirements for a release were finished, a STABLE release branch (in the format of
release-branch-vX.X-rX
) will be cut. Every commit to this branch will be automatically published to Google Play Store, and will roll-out users gradually.
To develop this project, you'll need:
- Java 9 - get OpenJDK or AdoptOpenJDK.
- git
- Android Studio
- Android SDK API Level 28 installed. Set up
local.properties
file to point to it (that is, ensure you havesdk.dir=/path/to/android/sdk
in it). - Android NDK r14b installed. Set up
local.properties
file to point to it (that is, ensure you havendk.dir=/path/to/android/ndk
in it).
Each PR is verified by multiple tasks:
- Code Style is verified by Google Java Format. You can auto-format changes by running
./gradlew googleJavaFormat
- Static-Analysis is done with PMD, checkstyle, lint and Error-Prone. Run
./scripts/ci/ci_check.sh
to execute all checks. - Unit-Tests are verified using
./gradlew testDebugUnitTest
.
- Via Bountysource, users can post bountys and developers can claim them when fixing bugs. This is an external community project and not directly sponsored by the ASK developers!
Copyright 2018 Menny Even-Danan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.