1. 获取PinyinIME的code。
2. AS中导入一个Eclipse的项目:PinyinIME
3. 编译,发现了第一只拦路虎,PinyinIME需要访问SDK的hide及internal的API,所以此时,需要按照
http://blog.csdn.net/linghu_java/article/details/8283042
4. 继续编译,发现第二只拦路虎,无法访问com.android.internal.R.string.inputMethod
CharSequence itemInputMethod = getString(com.android.internal.R.string.inputMethod);编译出错。替换成:CharSequence itemInputMethod = "zh_CN";5.终于编出了APK。
6.安装到手机上,发现遇到如下错误:
E/AndroidRuntime(29063): Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
E/AndroidRuntime(29063): at android.content.res.AssetManager.openNonAssetFdNative(Native Method)
E/AndroidRuntime(29063): at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:429)
E/AndroidRuntime(29063): at android.content.res.Resources.openRawResourceFd(Resources.java:1091)
原来是dict_pinyin.dat被aapt默认压缩了,而openRawResourceFd只能访问未压缩的文件。
解决办法:
在app/build.gradle中加入:aaptOptions { noCompress 'dat' }7. 重编,安装,google PinyinIME活了,可以告别国产坑爹输入法,避免它们的全家桶。