Edited at

SDKMANでGradleとKotlinをインストールする方法(Mac)


「SDKMAN」とは?

SDK管理ツールの一種です。KotlinやGradleなど様々なSDKにおいて、バージョンを簡単に切り替えられるようになるので便利です。


環境


  • OS:macOS High Sierra 10.13.1

  • Java:1.8.0_162

  • SDKMAN:5.6.2+294

  • Gradle:4.6

  • Kotlin:1.2.31


SDKMANのインストール

以下のコマンドを実行してインストールします。

$ curl -s "https://get.sdkman.io" | bash

$ source "~/.sdkman/bin/sdkman-init.sh"


Gradleのインストール

# SDKMANでインストールできるGradleのバージョン一覧を表示する

$ sdk list gradle

================================================================================
Available Gradle Versions
================================================================================
4.7-rc-1 4.4 3.5.1 2.3
4.6-rc-2 4.3.1 3.5 2.2.1
4.6-rc-1 4.3-rc-4 3.4.1 2.2
4.6 4.3-rc-3 3.4 2.14.1
4.5.1 4.3-rc-2 3.3 2.14
4.5-rc-2 4.3-rc-1 3.2.1 2.13
4.5-rc-1 4.3 3.2 2.12
4.5 4.2.1 3.1 2.11
4.4.1 4.2-rc-2 3.0 2.10
4.4-rc-6 4.2-rc-1 2.9 2.1
4.4-rc-5 4.2 2.8 2.0
4.4-rc-4 4.1 2.7 1.9
4.4-rc-3 4.0.2 2.6 1.8
4.4-rc-2 4.0.1 2.5 1.7
4.4-rc-1 4.0 2.4 1.6

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

# どのバージョンがいいのかわからないので、バージョンを指定せずにインストールする
$ sdk install gradle

# 4.6がインストールされたが、警告が出ている
$ gradle --version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/{ユーザー名}/.sdkman/candidates/gradle/4.6/lib/groovy-all-2.4.12.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------

Build time: 2018-02-28 13:36:36 UTC
Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c

Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 9.0.4 (Oracle Corporation 9.0.4+11)
OS: Mac OS X 10.13.1 x86_64

gradle --version 時に出力される警告について調べたところ、JDK 9を使っていると発生するエラーのようです。

https://github.com/gradle/gradle/issues/3118

JDK 8を使えばいいとのことなので、今回はそのようにします。

$ jenv global oracle64-1.8.0.162

$ gradle --version

------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------

Build time: 2018-02-28 13:36:36 UTC
Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c

Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 1.8.0_162 (Oracle Corporation 25.162-b12)
OS: Mac OS X 10.13.1 x86_64

警告が出力されなくなりました。


Kotlinのインストール

Gradleと同様にしてインストールします。

$ sdk list kotlin

================================================================================
Available Kotlin Versions
================================================================================
1.2.31 1.1.2-5 1.0.4
1.2.30 1.1.2-2 1.0.3
1.2.21 1.1.2 1.0.2
1.2.20 1.1.1 1.0.1-2
1.2.10 1.1-beta2 1.0.1-1
1.2.0 1.1-beta 1.0.1
1.1.61 1.1-RC 1.0.0
1.1.60 1.1-M04
1.1.51 1.1-M02
1.1.50 1.1-M01
1.1.4-3 1.1
1.1.4-2 1.0.7
1.1.4 1.0.6
1.1.3-2 1.0.5-2
1.1.3 1.0.5

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install kotlin

$ sdk list kotlin

================================================================================
Available Kotlin Versions
================================================================================
> * 1.2.31 1.1.2-5 1.0.4
1.2.30 1.1.2-2 1.0.3
1.2.21 1.1.2 1.0.2
1.2.20 1.1.1 1.0.1-2
1.2.10 1.1-beta2 1.0.1-1
1.2.0 1.1-beta 1.0.1
1.1.61 1.1-RC 1.0.0
1.1.60 1.1-M04
1.1.51 1.1-M02
1.1.50 1.1-M01
1.1.4-3 1.1
1.1.4-2 1.0.7
1.1.4 1.0.6
1.1.3-2 1.0.5-2
1.1.3 1.0.5

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================


デフォルトで使用するSDKの選択

各SDKは複数のバージョンをインストールすることができます。

デフォルトで使用するSDKを選択するには sdk default コマンドを使用します。

# sdk default {SDK} {バージョン}

$ sdk default kotlin 1.2.31


使用しているSDKの一覧表示

sdk current コマンドで使用しているSDKの一覧が出力されます。

$ sdk current


Using:

gradle: 4.6
kotlin: 1.2.31


おわりに

GradleとKotlinをインストールすることができました。

これでいよいよAndroidアプリの開発ができるはずです。


(2018/04/05 23:30 追記)

.bash_profile に書き込まれていたので、SDKMANがインストールされていない環境でも動作するように編集しました。


.bash_profile

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!

- export SDKMAN_DIR="/Users/{ユーザー名}/.sdkman"
- [[ -s "/Users/{ユーザー名}/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/{ユーザー名}/.sdkman/bin/sdkman-init.sh"
+ export SDKMAN_DIR="$HOME/.sdkman"
+ if [ -d "${SDKMAN_DIR}" ]; then
+ [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
+ fi



参考リンク