java.lang.NullPointerException (no error message)

2020-07-03 06:51发布

问题:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
        jcenter()
    }
    dependencies {
        classpath "gradle.plugin.me.tatarka:gradle-retrolambda:3.3.0"
        classpath 'com.android.tools.build:gradle:2.2.1'
    }
}
allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

The :app file

apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.3"
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "it.univpm.gruppoids.iotforemergencyandnavigation"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        jackOptions {
            enabled true
        }
    }



    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
    compile 'com.google.zxing:core:3.2.1'
    compile 'org.jgrapht:jgrapht-core:1.0.0'
}

When i try to build APK it shows me: Error:A problem occurred configuring project ':app'.

java.lang.NullPointerException (no error message)

Is it a problem with versions? or with lamdas?? someone can help me?

回答1:

I had the same issue after adding:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

It was because my default java version was 10:

$ java -version
java version "10.0.1" 2018-04-17

After changing to 1.8 (with sudo update-alternatives --config java) issue was fixed.



回答2:

I have had the same kind of problem these days. I found it might be caused by the version of gradle. After changing the version to 2.1.0, the problem's gone.

dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
    }

I'm not sure it works for you.



回答3:

Add this to your app module's build.gradle file:

lintOptions {
    checkReleaseBuilds false
}


回答4:

see this other issue : while this is stated in Retrolambda documentation you should not specify JAVA version to 1.8 while using Retrolambda. Therefore setting jack support to true should not be required anymore. This worked for me.



回答5:

Android compiles by default with Java 7 but your project might be using some Java 8 features. If you recently switched from Oracle JDK to Open JDK, make sure you are using Java 8. In your terminal, if you run java -version, the output should be something like:

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)


回答6:

Just Delete your project under contains .gradle folder and restart android studio. it tested by and approve by google developer pages. It 100% working.