[Android]「RealmException ◯◯ Is Not Part Of The Schema For This Realm」というエラーによってアプリが落ちてしまう場合の対処法

モバイル用高速データベース「Realm」を使うアプリで、正しくコーディングできているにもかかわらず、

「RealmException ◯◯ Is Not Part Of The Schema For This Realm」(◯◯はモデルクラス)

という謎のエラーによって、アプリが落ちてしまう場合の対処法です。

結論から言うと、

appレベルのbuild.gradleの冒頭部分のプラグインを並べる順番の問題らしく、realmは一番下にしないといけない

ようです。ですので、

 

1)’apply plugin: ‘realm-android’ を一番下にして「Sync now」

こうではなく

apply plugin: 'com.android.application'
apply plugin: 'realm-android' ⇒ これを一番下に持っていかないといけないらしい
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

こうする

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'realm-android' ⇒ こんな感じ

 

2)kotlin-kaptプラグインを追加する(appレベルのbuild.gradle)

そのとき、アプリを動かすと、

Cause: app: Original kapt is deprecated. Please add "apply plugin: 'kotlin-kapt'" to your build.gradle. 

こんなことを言われるので(Buildタブで見ることができます)、

blank

メッセージ通りにapply plugin: 'kotlin-kapt  をこんな感じで追加(’realm-android’の直上に)

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt' ⇒ これ
apply plugin: 'realm-android'

 

3)再度「Sync now」する

 

4)端末に入っているこの単語帳アプリをアンインストール

アンインストールを忘れると、こんな感じのエラーがでて止まってしまうと思います。

io.realm.exceptions.RealmMigrationNeededException: 

 

5)もう一度アプリを回すと、エラーが解消できる

 

ということで、appレベルの「build.gradle」の「apply-plugin」を並べる順番が悪かったという、「なんじゃそれ!?」的な話です。

理由がどうでもいいという方は、やり方だけを知っておけば十分かと思います。

理由が知りたい方は、下の動画で解説していますので、ご興味あればご覧ください。

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

みんプロ作成アプリ

blank
blank
blank
blank

TOP