java.lang.NullPointerException(无错误消息)APK构建

时间:2016-10-18 12:37:05

标签: java android gradle

// 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
}

:app文件

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'
}

当我尝试构建APK时,它向我显示:错误:配置项目':app'时出现问题。

  

java.lang.NullPointerException(无错误消息)

版本有问题吗?或与lamdas?有人可以帮助我吗?

6 个答案:

答案 0 :(得分:14)

添加后我遇到了同样的问题:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

这是因为我的默认java版本是10:

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

更改为1.8后(使用 sudo update-alternatives --config java )问题已修复。

答案 1 :(得分:2)

这些天我遇到了同样的问题。我发现它可能是由gradle版本引起的。将版本更改为2.1.0后,问题就消失了。

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

我不确定它对你有用。

答案 2 :(得分:2)

将此添加到您应用模块的 build.gradle 文件中:

lintOptions {
    checkReleaseBuilds false
}

答案 3 :(得分:0)

请参阅this other issue:虽然在Retrolambda文档中说明了这一点,但在使用Retrolambda时,不应将JAVA版本指定为1.8。因此,不再需要将插孔支持设置为true。这对我有用。

答案 4 :(得分:0)

默认情况下,Android使用Java 7进行编译,但是您的项目可能正在使用Java 8的某些功能。如果您最近从Oracle JDK切换到Open JDK,请确保您使用的是Java 8。 在您的终端中,如果您运行java -version,则输出应类似于:

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)

答案 5 :(得分:-4)

只需删除包含.gradle文件夹下的项目,然后重启android studio。 它由谷歌开发者页面测试和批准。 它100%工作。