[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タブで見ることができます)、

メッセージ通りに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」を並べる順番が悪かったという、「なんじゃそれ!?」的な話です。

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

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

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

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

みんプロにかける想い

  1. プログラミングを通じて「やわらかい世の中」を作りたい(ぼくがプログラミング講座をやっている本当の理由②)

  2. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

  3. トランプ政権2期目に起こるIT業界激震予想(前編:スマホの世界の構造問題に荒療治が行われる可能性)

  4. トランプ政権2期目に起こるIT業界激震予想(後編:ブロックチェーンによるインターネットの再民主化が行われる可能性)

  5. こんな無駄な苦労をするのはぼくで最後にしたい(ぼくがプログラミング講座をはじめたわけ)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP