# Using JDK 8 in android

**URL:** <https://discuss.circleci.com/t/using-jdk-8-in-android/2255>\
**Category:** Build Environment\
**Tags:** java, android\
**Created:** [February 21, 2016, 6:23pm UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255 "2016-02-21T18:23:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlokBansal8](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/alokbansal8/32/1691_2.png) [@AlokBansal8](https://discuss.circleci.com/u/AlokBansal8)\
**Post date:** [February 21, 2016, 6:23pm UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255/1 "2016-02-21T18:23:00Z")

</div>

I am using retrolambda in my Android project. But it fails to build with following message.

Execution failed for task ‘:app:compileInternalDebugJavaWithJavac’.

> When running gradle with java 5, 6 or 7, you must set the path to jdk8, either with property retrolambda.jdk or environment variable JAVA8\_HOME

Please suggest me any solution. My whole CI experience is suffering because of this.

---

<div class="post-metadata">

**Author:** ![mbeattie4](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@mbeattie4](https://discuss.circleci.com/u/mbeattie4)\
**Post date:** [March 2, 2016, 7:47am UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255/2 "2016-03-02T07:47:22Z")

</div>

I also ran into the same issue, and I was able to fix it by adding the following configuration to the **machine** section of my circle.yml file:

```
machine:
    java:
        version: oraclejdk8

```

I believe that Circle CI builds use version **1.7.0\_55** of the JDK by default (see this page: [https://circleci.com/docs/language-java](https://circleci.com/docs/language-java)), so you need to explicitly tell it to use the Java 8 JDK in your circle.yml file (see above). Once I added this, my Android application - using retrolambda - built successfully.

Hope this helps!  
-Matt

---

<div class="post-metadata">

**Author:** ![jzarsuelo](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@jzarsuelo](https://discuss.circleci.com/u/jzarsuelo)\
**Post date:** [September 12, 2016, 6:12am UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255/3 "2016-09-12T06:12:23Z")

</div>

How would you know the possible values for `java version`? Is there a list of values that we can use as a reference? Thanks

---

<div class="post-metadata">

**Author:** ![jzarsuelo](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@jzarsuelo](https://discuss.circleci.com/u/jzarsuelo)\
**Post date:** [September 12, 2016, 6:20am UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255/4 "2016-09-12T06:20:33Z")

</div>

Ooops. It’s in the documentation, values will depend on the Ubuntu version you’re using.

[https://circleci.com/docs/build-image-precise/#java](https://circleci.com/docs/build-image-precise/#java)  
[https://circleci.com/docs/build-image-trusty/#java](https://circleci.com/docs/build-image-trusty/#java)

I encountered a failed build **machine.environment.java should be a string**

```
machine:
    java:
        version: oraclejdk8

```

to fix this issue, I enclosed oraclejdk8 with single quote (’)

```
machine:
    java:
        version: 'oraclejdk8'
```

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [June 18, 2018, 11:38am UTC](https://discuss.circleci.com/t/using-jdk-8-in-android/2255/5 "2018-06-18T11:38:01Z")

</div>

Closed on June 18, 2018, 11:38am UTC


