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


関連記事

Pushwoosh UnityでのFCM移行

1 はじめに2 Firebaseプロジェクトの引き継ぎ3 PushwooshのAPIキーの差し替え3.1 FCMサーバーキーの取得3.2 google-services.jsonのダウンロード3.3 ...

【Kotlin】RecyclerViewAdapterを使ってリスト表示

1 はじめに2 GradleファイルにRecyclerViewの設定を追加する3 レイアウトファイルの作成4 Adapterクラスの追加5 Activityファイルへの追加6 さいごに7 おすすめ書籍 ...

[Android] KotlinでTextToSpeech

1 はじめに2 環境3 MainActivity.kt4 SpeechListener.kt5 activity_main.xml6 さいごに はじめに こんにちは。最近ようやくKotlinに手を付け ...

はじめてのKotlinとAndroid StudioのKotlinプラグイン

1 はじめに2 Kotlinとは?3 Android Studio 2.3でのKotlinプラグイン導入3.1 Kotlinプラグインのインストール3.2 JavaコードをKotlinコードに変換3. ...

[Android] パーミッション管理を簡単・簡潔に書けそうなPermissionsDispatcher

1 はじめに2 環境3 導入4 Activityでの実装例5 @RuntimePermissions(必須)6 PermissionsDispatcherに処理を移譲する7 @NeedsPermiss ...

フォロー

blog-page_side_responsive

2017年5月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

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