Android 原因:java.lang.RuntimeException
Android Caused by: java.lang.RuntimeException
我收到了一条与标题中一样的错误消息,但没有上下文,它只是由以下原因引起的:java.lang.RuntimeException如果我不知道是什么原因造成的,我怎么知道要解决什么问题.代码在这里:https://bitbucket.org/Hellscythe94/meet-up/src/master/
将此行添加到登录片段时出现的错误:
alertDialog.show();
可是我评论了还是不行...
请帮助我刚开始android。
好的,我创建了一个新的空白项目,只是添加了依赖项并尝试构建它,但遇到了同样的问题。
This is my project/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的 project/app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
multiDexEnabled true
applicationId "com.example.michalwolowiec.meetup"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
def lifecycle_version = "1.1.1"
implementation fileTree(include: ['*.jar'], dir: 'libs')
//MultiDex
implementation 'com.android.support:multidex:1.0.3'
//App compat
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
//ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
//Lifecycles only (no ViewModel or LiveData).
//Support library depends on this lightweight import
implementation "android.arch.lifecycle:runtime:$lifecycle_version"
//firebase Authentication
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
//firebase cloud Firebase
implementation 'com.google.firebase:firebase-firestore:17.1.4'
//butterknife and lombok
implementation 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
compileOnly 'org.projectlombok:lombok:1.18.4'
annotationProcessor 'org.projectlombok:lombok:1.18.4'
//google shit
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
//RX
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
//libraries
implementation 'io.nlopez.smartlocation:library:3.3.3'
implementation 'io.nlopez.smartlocation:rx:3.3.1'
implementation 'com.google.code.gson:gson:2.8.5'
//tests
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply
plugin: 'com.google.gms.google-services'
所以现在有人可以告诉我我做错了什么吗?
好的,所以我解决了。
原来是因为我得到了这是我的 project/app/build.gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
但是删除后它可以正常工作。
所以问题可能是我正在做的事情在 JAVA 1.7 中是可以接受的,但在 JAVA 1.8 中是不可接受的。
从您的 gradle 中删除此内容:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
并在 gradle 中添加 configurations.all:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}
如果你的 gradle 中有这个:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
然后你告诉 android 使用 java 8.
如果您使用的库不支持 java 8(即它使用 java 7 中的某些内容,但 java 8 中不允许),那么问题就会发生
对我来说,问题的发生是因为我的 gradle
中有以下内容
implementation 'com.google.code.gson:gson:2.8.6'
似乎不支持 java 8 ,我已经解决了它删除 Gson 库并使用 moshi 而不是 json 来建模解析
我收到了一条与标题中一样的错误消息,但没有上下文,它只是由以下原因引起的:java.lang.RuntimeException如果我不知道是什么原因造成的,我怎么知道要解决什么问题.代码在这里:https://bitbucket.org/Hellscythe94/meet-up/src/master/
将此行添加到登录片段时出现的错误: alertDialog.show();
可是我评论了还是不行...
请帮助我刚开始android。
好的,我创建了一个新的空白项目,只是添加了依赖项并尝试构建它,但遇到了同样的问题。
This is my project/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的 project/app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
multiDexEnabled true
applicationId "com.example.michalwolowiec.meetup"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
def lifecycle_version = "1.1.1"
implementation fileTree(include: ['*.jar'], dir: 'libs')
//MultiDex
implementation 'com.android.support:multidex:1.0.3'
//App compat
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
//ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
//Lifecycles only (no ViewModel or LiveData).
//Support library depends on this lightweight import
implementation "android.arch.lifecycle:runtime:$lifecycle_version"
//firebase Authentication
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
//firebase cloud Firebase
implementation 'com.google.firebase:firebase-firestore:17.1.4'
//butterknife and lombok
implementation 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
compileOnly 'org.projectlombok:lombok:1.18.4'
annotationProcessor 'org.projectlombok:lombok:1.18.4'
//google shit
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
//RX
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
//libraries
implementation 'io.nlopez.smartlocation:library:3.3.3'
implementation 'io.nlopez.smartlocation:rx:3.3.1'
implementation 'com.google.code.gson:gson:2.8.5'
//tests
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply
plugin: 'com.google.gms.google-services'
所以现在有人可以告诉我我做错了什么吗?
好的,所以我解决了。
原来是因为我得到了这是我的 project/app/build.gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
但是删除后它可以正常工作。 所以问题可能是我正在做的事情在 JAVA 1.7 中是可以接受的,但在 JAVA 1.8 中是不可接受的。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
并在 gradle 中添加 configurations.all:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}
如果你的 gradle 中有这个:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
然后你告诉 android 使用 java 8.
如果您使用的库不支持 java 8(即它使用 java 7 中的某些内容,但 java 8 中不允许),那么问题就会发生
对我来说,问题的发生是因为我的 gradle
中有以下内容implementation 'com.google.code.gson:gson:2.8.6'
似乎不支持 java 8 ,我已经解决了它删除 Gson 库并使用 moshi 而不是 json 来建模解析