Сбой приложения, но ошибки в коде нет

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

Комментарии:

1. Вы не должны смешивать разные версии, такие как 27 и 28, в конечном итоге у вас будет странная ошибка, поверьте мне.

2. Я все еще получаю ошибку, если обновляю ее до 28.

3. Logcat — ваш друг.

Ответ №1:

Без полной трассировки стека невозможно определить, откуда исходит ошибка. Единственное, что выглядит подозрительным в вашем файле сборки, это то, что у вас нет обычной версии поддержки Android. Вы используете библиотеки обеих версий 27.0.0 и 28.0.0 .

Комментарии:

1. скорее всего, проблема в этом, измените ваш appcompat версии 7 на 28 и перестройте

2. Если я обновлю версию до 28, то я получаю ошибку ниже. * Что пошло не так: не удалось выполнить задачу ‘: app: mergeExtDexDebug’. > com.android.build.api.transform. Исключение TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing. Исключение DexArchiveMergerException: ошибка при объединении архивов dex: Узнайте, как решить проблему на developer.android.com/studio/build / … . Тип программы уже присутствует: android.поддержка.дизайн.виджет. CoordinatorLayout$ 1

3. Спасибо, что изучили это. Я обновил свой пост с помощью log.

4. Попробуйте очистить проект после обновления зависимостей и проверьте, по-прежнему ли вы получаете то же сообщение об ошибке Build -> Clean Project

5. Если у вас такая же ошибка при сборке через терминал / cmd, то это не проблема Android Studio. @JuanHurtado прав, у Android Studio могут быть некоторые проблемы с кэшем. В этом случае необходимо удалить две или три папки кэша.

Ответ №2:

После добавления реализации ‘com.android.support: дизайн: 28.0.0’ эта проблема была решена. Спасибо всем за ваши комментарии.

Комментарии:

1. Отметьте это как одобренное