前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

ライブラリバージョンの最新化

アプリをリリースしたら次のリリースの前にライブラリのアップデートを行いたい。
ある程度はAndroidStudioが教えてくれるが自分で更新したいときに。

gradle-versions-pluginを使う

build.gradleを参照して更新してくれるPluginがあるのでそれを使う
https://github.com/ben-manes/gradle-versions-plugin

下準備

プロジェクトのbuild.gradleを編集。$versionには最新のバージョンを

apply plugin: "com.github.ben-manes.versions"

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
  }
}
コマンド

AndroidStudioしか使っていなかったせいか色々とダウンロードが発生して結構時間がかかった。

./gradlew dependencyUpdates -Drevision=release
実行結果

長いので出力の一部を省略しているが、以下のような感じでバージョンをチェックしてくれる。
適用するかは自分で決めるのが良さそうだな。

The following dependencies are using the latest release version:
 - android.arch.lifecycle:extensions:1.1.1
 - com.android.installreferrer:installreferrer:1.0
 - com.android.support:multidex:1.0.3
 - com.android.support.test:rules:1.0.2
 - com.android.support.test:runner:1.0.2
 - com.android.support.test.espresso:espresso-core:3.0.2
 - com.deploygate:sdk:4.1.0

The following dependencies have later release versions:
 - androidx.core:core-ktx [0.3 -> 1.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:appcompat-v7 [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:cardview-v7 [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:customtabs [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:design [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:gridlayout-v7 [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:multidex-instrumentation [1.0.2 -> 1.0.3]
 - com.android.support:recyclerview-v7 [27.1.1 -> 28.0.0-beta01]
     http://developer.android.com/tools/extras/support-library.html
 - com.android.support:support-annotations [27.1.1 -> 28.0.0-beta01]

Failed to determine the latest version for the following dependencies (use --info for details):
 - com.jakewharton:kotterknife

Gradle updates:
 - Gradle: [4.9-rc-1 -> 4.9]

Generated report file build/dependencyUpdates/report.txt

BUILD SUCCESSFUL in 13m 6s
1 actionable task: 1 executed