ルーム - スキーマエクスポートディレクトリがアノテーションプロセッサに提供されていないため、スキーマをエクスポートできません 質問する

ルーム - スキーマエクスポートディレクトリがアノテーションプロセッサに提供されていないため、スキーマをエクスポートできません 質問する

Androidデータベースコンポーネントルームを使用しています

すべてを設定しましたが、コンパイルすると Android Studio から次の警告が表示されます。

スキーマ エクスポート ディレクトリが注釈プロセッサに提供されていないため、スキーマをエクスポートできません。room.schemaLocation注釈プロセッサ引数を提供するか、exportSchema を false に設定してください。

私の理解では、DBファイルが配置される場所です

アプリにどのような影響がありますか? ここでのベストプラクティスは何ですか? デフォルトの場所 (false値) を使用する必要がありますか?

ベストアンサー1

build.gradleアプリ モジュールのファイルで、これをdefaultConfigセクション ( セクションの下) に追加します。これにより、スキーマがプロジェクト フォルダーのサブフォルダーandroidに書き出されます。schemas

javaCompileOptions {
    annotationProcessorOptions {
        arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
    }
}

このような:

// ...

android {
    
    // ... (compileSdkVersion, buildToolsVersion, etc)

    defaultConfig {

        // ... (applicationId, miSdkVersion, etc)
        
        javaCompileOptions {
            annotationProcessorOptions {
                arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }
   
    // ... (buildTypes, compileOptions, etc)

}

// ...

おすすめ記事