/trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Trime

Rime IME for Android

build License: GPL v3 GitHub release F-Droid release Latest build

English | 简体中文 | 繁體中文

About

Trime is originally a frontend of open-source Android Traditional Chinese IME, based on RIME input method framework and written in Java/Kotlin with JNI. It is designed to protect the native language of various local dialects of Chinese and is a universal shape-based and phonetic-based input method platform.

Download

Acknowledgments

History

TRIME is the abbreviation of Tongwen RIME or ThaeRv Input Method.

From the beginning, TRIME was written for TaeRv Pinyin, and named TaeRv Input Method (泰如输入法).

Then, we created an input method platform with some code tables, such as Wu dialect (吴语). We renamed it to Chinese Character Dialect Input Method (汉字方言输入法).

Later, it supports Wubi and Liangbi and other shape-based input method, we branded it Tongwen Input Method Platform 2.0 (同文输入法平台 2.0), which implies that the phonetic-based and shape-based input method on one platform, while dialects and Mandrain share one kind of characters.

Benefit from the librime project by JNI, we are now in version 3.0 of TRIME aka Tongwen Input Method (同文输入法).

Your contribution are welcome ~ ! 🎉

Getting Started

Prepare

Android SDK should be correctly installed and configured. If you are new to Android development, please install Android Studio.

Build

  1. Clone this project, please pay attention that it would take a while for large-size boost submodule. And make sure that you have enough available disk space to hold the source code (about 1.5 GB).
cd $your_folder
git clone --recursive https://github.com/osfans/trime.git
  1. Install capnp:
cd $trime_folder
sh trime/script/dependency.sh
  1. Debug version without sign:
make debug
  1. Release version with sign:

Create keystore.properties file which contains following contents for signing information:

storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation
make release

Troubleshooting

Target "boost_log_setup" links to target "Boost::coroutine" but the target was not found.

Run make clean.

Version mismatch between generated code and library headers. You must use the same version of the Cap'n Proto compiler and library.

Do not install capnp from package manager. Run the dependency script in part Build.

Other issues:

  1. Try make clean
  2. Make sure your repo is up-to-date. If one or more submodules are modified, also make sure they are compatible with the current version.
  3. If the problem still exists(very unlikely), try to make a new clone.
  4. Check if this is there is an issue/PR related to your problem. If yes, try their solutions.
  5. If none of them works, you may make an issue to ask for help.(optional)

Third Party Libraries