Androidでjava.lang.NoClassDefFoundError: Failed resolution of: Landroid/icu/text/Transliterator;

半角全角の文字の切り替えをAndroidでしたいと思って

https://qiita.com/makimaki913/items/df745b85b802099a6e32

を見ながらICU4Jを使おうとした。

Transliterator fullToHalf = Transliterator.getInstance(“Fullwidth-Halfwidth”);
Transliterator halftoFull = Transliterator.getInstance(“Halfwidth-Fullwidth”);

でもどうもAndroidで公式にICU4JをサポートしているのはAndorid7からのようでAndroid5.0で動かしたい場合はGradleに

implementation 'com.ibm.icu:icu4j:53.1'

※参考

https://developer.android.com/guide/topics/resources/internationalization

のように記述する必要がある。

これでAndroid5.0で動くぞーと思ったら、なぜか動かない

 

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/icu/text/Transliterator;

とでる。

原因は公式のサジェストでライブラリをインポートしたことでした。


import android.icu.text.Transliterator;

から

import com.ibm.icu.text.Transliterator;

にしましょう

↓弊社で開発、販売しているソフトウェアです↓

MediMonitor無料ダウンロード  

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です