Java.lang.NullPointerException(нет сообщения об ошибке) APK building
// 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
}
Файл приложения:
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:[email protected]'
compile 'com.google.zxing:core:3.2.1'
compile 'org.jgrapht:jgrapht-core:1.0.0'
}
Когда я пытаюсь создать APK, это показывает мне: Ошибка: возникла проблема при настройке проекта: app.
java.lang.NullPointerException(нет сообщения об ошибке)
Это проблема с версиями? или с лампами? кто-то может мне помочь?
Ответы
Ответ 1
У меня возникла та же проблема после добавления:
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) проблема была исправлена.
Ответ 2
В наши дни у меня была такая же проблема. Я обнаружил, что это может быть вызвано версией gradle. После изменения версии до версии 2.1.0 проблема исчезла.
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
Я не уверен, что это сработает для вас.
Ответ 3
Добавьте это в свой модуль приложения build.gradle:
lintOptions {
checkReleaseBuilds false
}
Ответ 4
см. эту другую проблему: хотя это указано в документации Retrolambda, вы не должны указывать версию JAVA версии 1.8 при использовании Retrolambda. Поэтому больше не требуется устанавливать поддержку гнезда True. Это сработало для меня.
Ответ 5
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)
Ответ 6
Просто удалите свой проект, содержащий папку .gradle и перезапустите студию Android.
он протестирован и одобрен на страницах разработчиков Google.
Он работает на 100%.