// 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?有人可以帮助我吗?
答案 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%工作。