Java 9 が入っている環境でビルドができなくて困ったのが、Java 8 は入れるのは面倒だから入れたくない!!という人向けのメモ
なぜコマンドからビルドができない
Android Studio は jdk も内蔵しているので Java 9 を入れていてもビルドできる。しかし、gradle コマンドを実行する際は JAVA_HOME が利用されるので Java 9 が利用されてしまい実行できない。
手っ取り早い対処
前述のとおり Android Studio は jdk も内蔵しているので、こいつを利用するように JAVA_HOME を一時的に書き換えてから実行すればよい。
普通に実行するとこういう感じだが
ore@mypc:~/myproject$ ./gradlew
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '9.0.4'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
ore@mypc:~/myproject$
こんな感じで Android Studio が使用している jdk へのパスを export してやれば、とりあえずビルドはできるようになる。mac だったら mac の jdk のパスにいい感じに変える必要がある。
ore@mypc:~/myproject$ export JAVA_HOME="C:\Program Files\Android\Android Studio\jre"
ore@mypc:~/myproject$ ./gradlew
Welcome to Gradle 4.1.
To run a build, run gradlew <task> ...
To see a list of available tasks, run gradlew tasks
To see a list of command-line options, run gradlew --help
To see more detail about a task, run gradlew help --task <task>
BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed
ore@mypc:~/myproject$