Skip to content

Android依存関係の追加

Kotlin MultiplatformモジュールにAndroid固有の依存関係を追加するワークフローは、純粋なAndroidプロジェクトの場合と同じです。Gradleファイルで依存関係を宣言し、プロジェクトをインポートします。その後、Kotlinコードでその依存関係を使用できます。

Kotlin Multiplatformプロジェクトでは、特定のAndroidソースセットに追加することでAndroid依存関係を宣言することをお勧めします。そのために、プロジェクトのsharedディレクトリにあるbuild.gradle(.kts)ファイルを更新してください。

kotlin
kotlin {
    //...
    sourceSets {
        androidMain.dependencies {
            implementation("com.example.android:app-magic:12.3")
        }
    } 
}
groovy
kotlin {
    //...
    sourceSets {
        androidMain {
            dependencies {
                implementation 'com.example.android:app-magic:12.3'
            }
        }
    }
}

Androidプロジェクトでトップレベルの依存関係であったものを、マルチプラットフォームプロジェクトの特定のソースセットに移動するのは、そのトップレベルの依存関係が非自明な構成名(configuration name)を持っていた場合、難しいかもしれません。例えば、AndroidプロジェクトのトップレベルからdebugImplementation依存関係を移動するには、androidDebugという名前のソースセットに実装依存関係を追加する必要があります。このような移行の問題に対処する手間を最小限に抑えるために、android {}ブロック内にdependencies {}ブロックを追加することができます。

kotlin
kotlin {
    android {
        //...
        dependencies {
            implementation("com.example.android:app-magic:12.3")
        }
    }
}
groovy
kotlin {
    android {
        //...
        dependencies {
            implementation 'com.example.android:app-magic:12.3'
        }
    }
}

ここで宣言された依存関係は、トップレベルのブロックで宣言された場合とまったく同じように扱われますが、このように宣言することで、ビルドスクリプト内でAndroidの依存関係を視覚的に分離し、混乱を避けることができます。

Androidプロジェクトで慣習的な方法である、スクリプトの最後にある独立したdependencies {}ブロックに依存関係を配置することもサポートされています。しかし、トップレベルのブロックにAndroidの依存関係を記述し、各ソースセットに他のターゲットの依存関係を記述するというビルドスクリプトの構成は、混乱を招く可能性が高いため、そうしないことを強く推奨します

次のステップ

マルチプラットフォームプロジェクトでの依存関係の追加に関する他のリソースを確認し、以下について詳しく学びましょう: