添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
dependencies { implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion" implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion" implementation "com.android.support:design:$rootProject.supportLibraryVersion"

「変数を使ってまとめました!」とか言ってるけど。

きもいですよ。

そもそも、定義の位置がヘボいのですよ。

書いてたのは私です。

以下のように書いてました。

root/build.gradle

ext { minSdkVersion = 24 targetSdkVersion = 27 compileSdkVersion = 27 buildToolsVersion = '27.0.2' supportLibraryVersion = '27.1.0' firebaseVersion = '11.8.0'

これのせいで、「${rootProject.firebaseVersion」とか「rootProject.ext.***」とかダラダラ書く羽目になるようです。

stackoverflow も今やゴミのだらけでどれが正しいのか分かりづらいです。

神はこのように書いていた。

root/build.gradle

buildscript { ext.buildConfig = [ 'compileSdk': 27, 'minSdk': 24, 'targetSdk': 27 ext.versions = [ 'supportLibrary': '27.1.0', 'kotlin': '1.2.30', 'okhttp': '3.10.0', 'retrofit': '2.3.0', 'kotshi': '1.0.1', 'dagger': '2.15',

ブロック buildscript {} 内に map ですっきり記述しています。

module/build.gradle

android { compileSdkVersion buildConfig.compileSdk defaultConfig { minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk versionCode buildConfig.versionCode versionName buildConfig.versionName // .... dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:${versions.kotlin}" implementation "com.android.support:appcompat-v7:${versions.supportLibrary}" implementation "com.android.support:support-v4:${versions.supportLibrary}" implementation "com.android.support:design:${versions.supportLibrary}" implementation "com.google.firebase:firebase-core:${versions.firebase}" implementation "com.google.firebase:firebase-auth:${versions.firebase}"

定形なテンプレートとして使えます。

参照する際は、「rootProject」とか「ext」の単語は不要です。

関連の以下も必須だろうと思います。

サポートライブラリのバージョンを揃える

👉 【Gradle Version Catalog】libs.versions.toml キー名の形式 camelCase vs kebab-case hatena-bookmark


関連ワード: Android Google Gradle おすすめ これはすごい アプリ ライブラリ 開発