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です。
後のやつはどうやって決めるの?というと、下記のサイトで探します。
Recent Support Library Revisions
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を指定します。