先記下目前暫時有點進展的作法,日後還是要盡可能自動處理…。
從 Android NDK 建立 toolchain:
cd $HOME
~/Applications/android-ndk/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-clang3.2 --system=linux-x86_64 --install-dir=toolchain
編出 libchewing:
cd libchewing/
vim src/tools/Makefile.am
把 CC 改為指定使用電腦上的gcc
(感謝 +Wen Chun Lin 提點)sh ./autogen.sh
CC=~/toolchain/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc ac_cv_func_malloc_0_nonnull=yes ./configure --host=arm-linux-androideabi --prefix="$HOME/workspace/AndroidChewingIME/jni"
make
file ./src/.libs/libchewing.so.3.0.1
確認是 ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV),以免跟昨晚早先之前一樣空歡喜一場。make install
留言
在〈筆記:編出給 arm-linux-androideabi 用的 libchewing〉中有 2 則留言
是想這麼做沒錯,只是能力、所知有限,編得出來,載入時卻失敗了,還要找方法 debug,猜想是新酷音的資料檔載入路徑的問題。
喔,開始進行 JNI,之後會把 InputMethodService 接起來嗎?