質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

3回答

2246閲覧

Android IME 落ちる

rei-

総合スコア11

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/04/18 04:44

編集2017/04/18 07:07

###つくりたいもの
Androidのキーボードを作ろうとしています。
最終的には日本語のフリック入力ができるようにしたいのですが、
とりあえずアルファベットを入力できるようにしたいです。

AndroidのIME機能を使って寿司ネタキーボードを作る
を参考にプログラムを書きました。

###発生している問題
実行までできるのですが、自作のキーボードを選択すると落ちてしまいます。
デバックで以下のように出ました。

###デバッグ
削ってます

4-18 15:29:04.351 16029-16029/com.example.minami.samplecode E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.minami.samplecode, PID: 16029 android.view.InflateException: Binary XML file line #3: Binary XML file line #3: Error inflating class com.example.minami.samplecode at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.example.minami.samplecode.InputIME.onCreateInputView(InputIME.java:45) Caused by: android.view.InflateException: Binary XML file line #3: Error inflating class com.example.minami.samplecode Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.minami.samplecode" on path: DexPathList[[zip file "/data/app/com.example.minami.samplecode-1/base.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.minami.samplecode-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.minami.samplecode-1/lib/arm64, /vendor/lib64, /system/lib64]] Suppressed: java.lang.ClassNotFoundException: com.example.minami.samplecode Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

###ここに問題ありそう(layout/input.xml)

layout/input.xml

1<?xml version="1.0" encoding="utf-8"?> 2 3<com.example.minami.samplecode 4 xmlns:android="http://schemas.android.com/apk/res/android" 5 android:id="@+id/keyboard" 6 android:layout_alignParentBottom="true" 7 android:layout_width="match_parent" 8 android:layout_height="wrap_content" 9 />

###AndroidManifest.xml

AndroidManifest.xml

1<?xml version="1.0" encoding="utf-8"?> 2<manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.minami.samplecode"> 4 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:roundIcon="@mipmap/ic_launcher_round" 10 android:supportsRtl="true" 11 android:theme="@style/AppTheme"> 12 13 <service 14 android:name=".InputIME" 15 android:label="@string/fast_input_label" 16 android:permission="android.permission.BIND_INPUT_METHOD"> 17 <intent-filter> 18 <action android:name="android.view.InputMethod" /> 19 </intent-filter> 20 21 <meta-data 22 android:name="android.view.im" 23 android:resource="@xml/method" /> 24 </service> 25 26 <activity 27 android:name="InputIMESetting" 28 android:label="@string/action_setting"> 29 <intent-filter> 30 <action android:name="android.intent.action.MAIN" /> 31 <category android:name="android.intent.category.LAUNCHER" /> 32 33 </intent-filter> 34 </activity> 35 36 37 </application> 38 39</manifest>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2017/04/18 04:45

エラーメッセージは出ていませんか?
rei-

2017/04/18 04:54

エラーメッセージは出ていません
guest

回答3

0

自己解決

Create a Custom Keyboard on Android
こちらのサイトを参考に作成しなおしたところ、きちんと動きました。

layout/keyboard.xmlがなかったために正しく動かなかったのだと思います。

投稿2017/04/21 11:01

rei-

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

MyKeyboardの最初に実行される箇所にログ出力を行い、到達しているかを確認してください。

投稿2017/04/18 05:05

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rei-

2017/04/18 05:50

デバッグで上記のように出たのですが…
yona

2017/04/18 05:58

AndroidManifestを質問に追記してください。 また、回答の内容は確認していないんですか?
rei-

2017/04/18 06:48

Keyboard生成までできていて、onCreateInputViewでKeyboardViewの取得、KeyboardViewにKeyboardを結びつける段階でエラーになっているようです。
guest

0

寿司ネタキーボード・・・

これと一緒の事象ではないですか?
teratail - Androidでのキーボード開発 -AndroidManifest.xmlについて

投稿2017/04/18 05:05

abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rei-

2017/04/18 05:51

AndroidManifest.xmlは正しく表記してあると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問