Android supportライブラリなどで利用するべきバージョンについて(サンプル有)
Androidのgradleのdependenciesのimplementation(旧 compile)でよく出るこのWarning。
StackOverflowとかで見て、このエラーでビルドできないからこれ、と闇雲にライブラリのバージョンを指定していると、こうなりますよねw
ほっといてもビルドできる時もありますが、時にできなくなって、できない時は本当にカオスでわけわかめになります。
なので、ちゃんとやった方がいいです。
じゃあ、どのバージョンを指定したらいいのー??ってなりますが、その方法を書いておきます。
下記のようにアプリケーションのbuild.gradleファイルを作ったとすると
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 27
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "hogehoge"
minSdkVersion 14
targetSdkVersion 27
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
useLibrary 'org.apache.http.legacy'
productFlavors {
}
}
dependencies {
compile project(':rateThisApp')
compile 'com.android.support:support-v4:27.1.1'
compile 'com.google.android.gms:play-services-location:16.0.0'
compile files('lib/osmbonuspack_v4.2.9.jar')
compile files('lib/osmdroid-android-4.1.jar')
compile files('lib/osmdroid-third-party-4.1.jar')
compile files('lib/slf4j-android-1.6.1-RC1.jar')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.android.gms:play-services-maps:16.0.0' // GoogleMapを使うために追加する
}
compileSdkVersion 27のこの数字にサポートライブラリのバージョンの最初の数字を合わせます。
サポートライブラリとは、
'com.android.support:support-v4:27.1.1'
いたいなやつのことです。上記の意味は、com.android.support:support-v4というライブラリのバージョン27.1.1ですよ!ってことです。
つまり、compileSdkVersion が27だから、ライブラリのバージョンの最初の数字は27です。
後のやつはどうやって決めるの?というと、下記のサイトで探します。
https://developer.android.com/topic/libraries/support-library/revisions?hl=ja
例えば、上記のサイトを見ると、バージョン27だと、現在(2018/12/04)で
Revision 27.1.1
が最新ということになります。
なので、
'com.android.support:support-v4:27.1.1'
として、27.1.1を指定します。