To develop this project, you'll need:
- Java 11 - get OpenJDK or AdoptOpenJDK. If you are using jEnv then we have a
.java-version
file already set up. - git
- Android Studio version 4.0.
- You will need to point your Android-Studio to use the installed Java11. You can configure the path inside Android Studio menu: File > Project Structure > JDK Location.
- 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).
- Set up
- 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 checkstyle, lint and Error-Prone. Run
./scripts/ci/ci_check.sh
to execute all checks. - Unit-Tests are verified using
./gradlew testDebugUnitTest
.
- Main app (AnySoftKeyboard) is located under
ime/
.- to build the APK use following command:
gradlew :ime:app:assembleDebug
- to build the APK use following command:
- All add-ons are under
addons/
.- Language-packs are under
addons/languages/
. - Themes are under
addons/themes/
. - Quick-Text (e.g., emojis) are under
addons/quicktext/
. - Contributing document for add-ons can be found here.
- Language-packs are under
The components in this repository are released under the Apache2 license.
By contributing to this repository you give all copyright and distribution rights or AnySoftKeyboard maintainer.
Of course, since this is Apache2, you may fork and do whatever you want with the code, you do not have to share back only give attribute.
Read more about this license here.
If you decided to help out and contribute your time, we are greatly appreciate this. Our contributors list can be found here. Contributors should adhere to the (Code-of-Conduct)[CODE_OF_CONDUCT.md] document.