我尝试使用this tutorial on tuts+创建自定义键盘,但是当我运行它并更改键盘时,我收到错误:
java.lang.RuntimeException: Unable to instantiate service com.ginso.simplekeyboard.SimpleIME: java.lang.ClassNotFoundException: Didn't find class "com.ginso.simplekeyboard.SimpleIME" on path: DexPathList[[zip file "/data/app/com.ginso.simplekeyboard-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
我试图删除清单中的点
<service android:name=".SimpleIME" />
。
我还尝试了在评论中发布的人员代码。但没有改变。我做错了什么?
修改
SimpleIME
位于标准包中。
答案 0 :(得分:0)
由于您将SimpleIME
放入标准包中,因此Android无法加载您声明为服务的com.ginso.simplekeyboard.SimpleIME
。
android:name
这应该是一个完全限定的类名(例如,&#34; com.example.project.RoomService&#34;)。但是,作为简写,如果名称的第一个字符是句点(例如,&#34; .RoomService&#34;),它将附加到&lt; manifest&gt;中指定的包名称 element。
据我所知,没有办法在标准包中使用类,所以只需将SimpleIME
放在com.ginso.simplekeyboard
包中,一切都应该有效。