スマートフォン・ジン | Smartphone-Zine

引っ越し先→ https://smartphone-zine.com/

Android Studio GiraffeでRealmプラグインの設定エラーを解決する方法

最新バージョンのAndroid Studio GiraffeAndroid Studio Giraffe | 2022.3.1 Patch)を使用中にRealmを導入しようとしたところ、ビルドエラーに遭遇しました。以下はその問題と解決策についてのメモです。

エラーメッセージ

ビルド時に以下のエラーが発生し、ビルドが成功しません。

Build file '/Users/hiro/AndroidStudioProjects/MyApplication10/app/build.gradle' line: 6

An exception occurred applying plugin request [id: 'realm-android']
> Failed to apply plugin 'realm-android'.
   > API 'android.registerTransform' is removed.

背景

Android Studio Giraffeでは、Gradleというツールを使用してAndroidアプリケーションをビルドします。新しいAndroid Gradle Plugin(バージョン8以降)が導入され、その結果、以前のバージョンで使用されていた 'android.registerTransform' API が削除されました。この変更により、Realmプラグインが正常に動作しなくなりました。

解決策

以下の手順に従って、Realmプラグインの問題を解決できます。

  1. 以下の説明はGroovy DSLを採用しているプロジェクトが前提です。プロジェクトがGroovy DSLを採用していることを確認してください。Groovyを使用するには、プロジェクトを作成する際に "Build configuration language" で "Groovy DSL" を選択します。もしsettings.gradleの拡張子が.ktsである場合、Garoovyではありません。

  2. 次の手順を実行します。

    • settings.gradle(Project Settings)を開きます。
    • dependencyResolutionManagement内のrepositoriesに、jcenter()を追加します。
     dependencyResolutionManagement {
         repositories {
             google()
             mavenCentral()
             jcenter() // これを追加
         }
     }
    
  3. build.gradle(Project: プロジェクト名)を開き、以下の行を追加します。

     buildscript {
         dependencies {
             classpath "io.realm:realm-gradle-plugin:10.13.3-transformer-api"
         }
     }
    
  4. build.gradle(Module: app)を開き、以下の行を追加します。

     plugins {
         id 'kotlin-kapt'
         id 'realm-android'
     }
    
     dependencies {
         // 他の依存関係
         implementation 'io.realm:android-adapters:2.1.1'
     }
    

これらのステップに従うことで、Realmプラグインの設定エラーを解決し、ビルドが正常に通るはずです。