Java 应用程序正在崩溃,但代码中没有错误
我在错误日志中得到Java 应用程序正在崩溃,但代码中没有错误,java,android,Java,Android,我在错误日志中得到java.lang.NoSuchMethodError,并且在该应用程序崩溃之后。我的java代码中没有任何错误。我不确定是哪个库导致了这个问题。非常感谢你的帮助 我已经将一些库更新为28和27,但仍然得到相同的错误 错误 java.lang.NoSuchMethodError: No static method getScreenWidthDp(Landroid/content/res/Resources;)I in class Landroid/support/v4/con
java.lang.NoSuchMethodError
,并且在该应用程序崩溃之后。我的java代码中没有任何错误。我不确定是哪个库导致了这个问题。非常感谢你的帮助
我已经将一些库更新为28和27,但仍然得到相同的错误
错误
java.lang.NoSuchMethodError: No static method getScreenWidthDp(Landroid/content/res/Resources;)I in class Landroid/support/v4/content/res/ConfigurationHelper; or its super classes (declaration of 'android.support.v4.content.res.ConfigurationHelper' appears in /data/app/com
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.test.test"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:27.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.rengwuxian.materialedittext:library:2.1.4'
implementation 'com.szagurskii:patternedtextwatcher:0.5.0'
implementation 'com.github.d-max:spots-dialog:1.1@aar'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.facebook.android:account-kit-sdk:4.+'
}
如果我将appcompat更新为28,那么我将得到以下错误
implementation 'com.android.support:appcompat-v7:28.0.0'
* What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: android.support.design.widget.CoordinatorLayout$1
如果没有完整的stacktrace,就无法判断错误的来源。构建文件中唯一可疑的是,您没有一个通用的android支持版本。您同时使用
27.0.0
和28.0.0
版本的库。在添加实现'com.android.support:design:28.0.0'后,此问题得到解决。感谢大家的评论。很可能就是这个问题,请将appcompat v7更改为28并重新构建。如果我将版本更新为28,则我将遇到以下错误。*错误:任务执行失败:应用程序:mergeExtDexDebug'>com.android.build.api.transform.TransformException:java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:合并dex存档时出错:了解如何在上解决问题。程序类型已经存在:android.support.design.widget.CoordinatorLayout$1感谢您的关注。我已经用日志更新了我的帖子。请在更新依赖项后尝试清理项目,并检查是否仍然收到相同的错误消息Build->clean Projection如果您在通过terminal/cmd进行构建时遇到相同的错误,则它不是Android Studio Issue@JuanHurtado是对的,Android Studio可能存在一些缓存问题。如果是这种情况,有两个或三个缓存文件夹要删除。你不应该混合使用不同的版本,如27和28,你会出现奇怪的错误,相信我。如果我将其更新为28,我仍然会出错。Logcat是你的朋友。将此标记为已批准