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プロジェクトのトップレベルの依存関係をマルチプラットフォームプロジェクトの特定のソースセットに移動する場合、そのトップレベルの依存関係に複雑な構成名が付いていると難しい場合があります。たとえば、AndroidプロジェクトのトップレベルからdebugImplementation依存関係を移動するには、androidDebugという名前のソースセットにimplementation依存関係を追加する必要があります。このような移行の問題に対処する手間を最小限に抑えるために、androidTarget {}ブロック内にdependencies {}ブロックを追加できます。

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

ここで宣言された依存関係は、トップレベルブロックからの依存関係とまったく同じように扱われますが、この方法で宣言することで、ビルドスクリプト内でAndroidの依存関係が視覚的に分離され、より分かりやすくなります。

スクリプトの最後に、Androidプロジェクトに慣例的な方法でスタンドアロンのdependencies {}ブロックに依存関係を配置することもサポートされています。ただし、これを強く推奨しません。なぜなら、Androidの依存関係をトップレベルブロックに、他のターゲットの依存関係を各ソースセットに設定するビルドスクリプトは、混乱を招く可能性が高いからです。

次のステップ

マルチプラットフォームプロジェクトでの依存関係の追加に関する他のリソースも確認し、詳細については以下を参照してください。