Android

Android Studioでエラーログを詳細表示する

投稿日:2017年5月17日 更新日:

はじめに

こんにちは。Android開発を久しぶりにやっているのですが、Data Binding関連のビルドエラーメッセージで解決に時間がかかったので、備忘録として今回はブログを書きたいと思います。

初期設定でのビルドエラーメッセージ

RealmとData Bindingの設定をした簡単なプログラムを実行したところ、Android StudioのMessagesに下記のエラーが発生したとします。この場合、「パッケージcom.re_engines.sample.databindingは存在しません」と表示されていることからData Bindingの設定などに問題があると考えて、Data Binding関連の調査を先ずはしようと考える方が多いのではないでしょうか。

ただ、Data Bindingのクラスは自動作成されるため、別の場所でビルドエラーが発生した場合、クラスが作成されずに、上記のエラーとなる場合もあります。そのため、Data Bindingだけの設定などを見直しているだけでは、原因が特定できないことがあります。

詳細なビルドエラーメッセージを出力

上部のメニューの[Preferences]から[Compiler]を選択し、[Command-line Options]に[–debug]を追記し、[OK]を押します。

この設定をした上で再度ビルドすると、一部省略していますが、今度は下記のような詳細エラーが表示されます。

上記をみるとData Bindingとは別にRealm関連でBaseModelにおいてエラーが発生していることがわかります。最終的にはこちらを解消することでビルドが成功するようになります。

おまけ

今回はエラーメッセージから諸々修正を進めましたが、最終的には下記のようなRealmObjectの継承の仕方に問題がありました。

 

すべてのRealmのモデルクラスの親クラスとして、BaseModelクラスを作り、そこに共通処理などを実装していこうと考えたのですが、これがRealmの場合はできないことがわかりました。

Userクラスなどが直接RealmObjectを継承する必要があるようです。これは、GitHub上でも議論されているので、今後に期待ですね。

さいごに

ビルドエラーメッセージが表示されていても、それが直接的な原因ではない場合、解決ができずに無駄に悩むことになりますよね。そんな時は、ちょっと冗長なエラーメッセージが出力されますが、Android Studioの設定を変更して、詳細なビルドエラーメッセージを出力させてみてはいかがでしょうか。

おすすめ書籍

Android/iOSクロス開発フレームワーク Flutter入門 [改訂新版]Android SDKポケットリファレンス (POCKET REFERENCE) 基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3対応 (「黒帯エンジニア」シリーズ)

blog-page_footer_336




blog-page_footer_336




-Android
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

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

CAPTCHA


関連記事

Android 10の概要をまとめました。

1 はじめに2 主な変更点2.1 バックグラウンドからの起動について2.2 ストレージへの権限2.3 位置情報制御2.4 Live caption2.5 Smart Reply2.6 Gesture ...

Androidでのローカルプッシュ通知実装

1 はじめに2 WorkManagerとは?3 WorkManagerの導入4 実装例4.1 Workerの実装4.2 OneTimeWorkRequestBuilderの実装4.3 Periodic ...

Kotlin OkHttp3で通信を行なった際の備忘

1 はじめに2 ライブラリの導入方法3 Build時にエラーが発生する4 パーミッションの追加5 main関数で同期処理の通信6 onFailureでUnable to resolve host &# ...

Kotlinをはじめよう〜Kotlin基本文法〜

1 はじめに2 事前準備3 基本データ型4 変数5 条件分岐 if式6 条件分岐 when式7 繰り返し制御 while文8 繰り返し制御 for文9 さいごに10 おすすめ書籍 はじめに こんにちは ...

AndroidでWebViewを使用する時に押さえておきたいポイント5選

1 はじめに2 JSのAlert, Confirm, Promptが表示されない!3 読み込み中の進捗を表示する4 UserAgent5 クリアテキスト設定5.1 クリアテキストを無効にする5.2 H ...

フォロー

blog-page_side_responsive

2017年5月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。