Setting default JDK version for Android Studio Windows - android

I have searched and could not find a solution for this problem.
Error:Buildtools 24.0.2 requires Java 1.8 or above. Current JDK version is 1.7.
My JAVA_HOME variable in path variable is pointing to C:\Program Files\Java\jdk1.8.0_101
I don't know what I am missing and I couldn't find any settings in Android Studio to change the JDK path.

Make sure that you have proper location and version of JDK
Go to File -> Project Structure. You would see this window:
You can also add compileOptions in your app/build.gradle file:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

Related

error: package android.view does not exist

I am getting this error in view bindings file generated by Android studio. I have added
buildFeatures {
viewBinding true
}
to the app build.gradle file.
In your build.gradle(:app) file,
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Try changing the java version.
I got the same error when using VERSION_11 but the VERSION_1_8 fixed the issue.
Android Studio don' t update Gradle to version 7.
Open project Structure, you can find in File, set in Project:
Android Gradle Plugin Version: 7.0.0
and
Gradle Version: 7.0.2
Compile now and all will work fine.
Updating the android studio to the latest version fixed the issue for me.

Error: lambda expressions are not supported in -source 1.7 (use -source 8 or higher to enable lambda expressions)

I am getting this error message while building the Cordova Android app.
Error:(159, 66) error: lambda expressions are not supported in -source
1.7 (use -source 8 or higher to enable lambda expressions)
The following compileOptions has been set on my build.gradle (module android) and build.gradle (module CordovaLib) as you can see here:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
How to resolve this problem?
The error stems from your app module. You have to set up Java 8 for each separate module. Go to File > Project Structure and update it from the Properties tab for that module or make sure you have added the compileOptions snippet to the correct build.gradle file of your app module.
If there are further modules, make sure they are set up for Java 8, before using Java 8 functionality.
For full reference, see the official Android Java 8 Support Page.

kotlin-stdlib-jre7 is deprecated. Please use kotlin-stdlib-jdk7 instead

Yesterday I updated Android Studio Version and Kotlin plugin version.
Android Studio Version: 3.1.2
Kotlin Version: 1.2.41
When I create an Android project using this configuration, I get Kotlin Compiler warning saying
w: /home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6c56ef4e23604a0ee55768/kotlin-stdlib-jre7-1.2.41.jar: kotlin-stdlib-jre7 is deprecated. Please use kotlin-stdlib-jdk7 instead
Changed as per suggestion, then I am getting following error
Unexpected inputs: ImmutableJarInput{name=org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.41, file=/home/ganeshtikone/Workspace/May-2018/fhs/app/build/intermediates/transforms/desugar/stage/debug/45.jar, contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED}
Go to Tools > Kotlin > Configure Kotlin Plugin Updates and check for updates
then in your app gradle file replace jre with jdk
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Update
Newer version is jdk8
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
Important Update
Must check JDK version before setting config
Kotlin gradle config page has detailed information about this.
First of all check your kotlin version in gradle file.
if (kotlin_version == '1.2.x' ) (Use jdk NOT jre)
First check your jdk version in File > Project Structure.
Or check in build.gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
if (jdk_version == 1.8)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
if (jdk_version == 1.7)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
if (jdk_version is < 1.7)
implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
else if(NO jdk version is set in Project Structure)
if(Android_Studio_Version < 2.2.1){
your_jdk_version = 1.7;
}
else {
your_jdk_version = 1.8;
}
Because Android Studio is bundled with jdk 1.8 since 2.2.1 version.
2. else if ( kotlin_version == '1.1.x') (Use jre NOT jdk)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8
Update Kotlin Version?
You can update Kotlin version from Tools > Kotlin > Configure Kotlin Updates
Something is transitively importing those libraries. Run Gradle task dependencies to figure out what.
In my case, it was io.vertx:vertx-lang-kotlin-coroutines:3.5.1.
If there is no update for the dependency, there is not much you can do about it
After reading Kotlin Gradle Script Topic
I find out that some ponits
If you're targeting JDK 7 or JDK 8, you can use extended versions of the Kotlin standard library which contain additional extension functions for APIs added in new JDK versions. Instead of kotlin-stdlib, use one of the following dependencies:
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
I used implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" in my project. I think it's because of compileOptions set in build.graddle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
You must swap the codes below:
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
Not jre > jdk
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Change SDK7 to Java SDK8
try this:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

android opennlp build error: cannot access Path class file for java.nio.file.Path not found

I am trying to use apache opennlp library for my android project. But build fails. As instructed in some SO posts I have checked my javac version which is 1.8.0. I have also added following compile options
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Then build error asked me to enable jack, which I did. But then I got the error mentioned in title. From a SO post I got to learn that not all Java packages are included in Android. So how do I use opennlp in my android project? Are there any other NLP libraries which are easier to integrate/use in Android?
try following
android{
jackOptions {
enabled true
}
}
add this in gradle project level.

Why API 22 insists on attaching to JDK 1.6?

I'm trying to work with Java 1.7 in IntelliJ (Android Studio enough) and I believe I already have Java 1.7 selected, but somehow it insists that my Java version is 1.6 for (API 22). Here are some screenshots:
I have the following in build.gradle:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
I can use 1.7 features, but the dialog box keeps showing 1.6 which makes me feel very uneasy. Am I missing something?
Thanks
Make sure File|Project Structure|SDK Location|JDK Location points to the correct Java

Categories

Resources