2017年12月2日土曜日

logcatが表示されない!?デバッグでEditTextのあるActivity表示で落ちる!?


思いがけず、タブレットも開発に使用できるようになりました。

d tab(HUAWEIのd-01J)。

しばらくは、今まで通り、スマホで開発し、Releaseビルド後にタブレットで動作確認をしていました。

問題なく使えていたのですが、厄介なカメラ機能を修正したので、タブレットでデバッグを行ったところ、あるActivityに遷移すると落ちました。

logcatを見てみたら、エラーもデバッグログも出力されていません。

ここから、結構、はまりました。

とりあえず、logcatから解決方法を書きます。

HUAWEIは、Androidの隠しコマンドでログを出力するように設定する必要があるようです。(HUAWEI全機種なのかは、分かりません。)

電話アプリ、又は、標準の電卓アプリを使用します。持っているタブレットは電話機能がないので、電卓を使いました。

1)電話アプリの場合は、「*#*#2846579#*#*」
、電卓アプリの場合は、「()()2846579()()=」と入力します。

2)「ProjectMenu」という画面が起動しますので、「1.Background Settings」をクリックします。

3)「3.LOG Settings」をクリックします。

4)「AP Log」をチェックします。

これで、logcatが出力されるようになりました。

続いて、落ちる件について、ログが出力されるようになったので、調査開始です。


InputConnectionでキャストできないと出ているので、EditText付近だとは分かるのですが、EventProfiler.javaのソースをネットで探し出しても、330行目なんてありません。

しかし、このExceptionをネットで検索すると解決方法ありました。

https://stackoverflow.com/questions/47440771/focus-on-edittext-result-in-crash

このページにあるように、Android Studioのメニュー「Run」の 「Edit Configurations」をクリックし、左の「Android App - app」を選択して、右の「Profiling」の「Enable Advanced profiling」のチェックを外します。

これで、実行すると落ちなくなりました。

オフにした機能は以下に詳細が書かれています。

Measure App Performance with Android Profiler

Android Studio 3.0から追加された機能みたいです。

しかし、タブレットでカメラが落ちるので、まだまだかかりそうです・・・。


0 件のコメント:

コメントを投稿