Я создал новый проект в Android Studio 2.2 Preview 1 с Android App и модулем Backend с Google Messaging. Это файл приложения:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support:support-annotations:23.4.0'
compile project(path: ':backend', configuration: 'android-endpoints')
}
Но это дает:
Ошибка: конфликт с зависимостью "com.google.code.findbugs: jsr305". Разрешенные версии для приложения (1.3.9) и тестового приложения (2.0.1) отличаются. Смотрите http://g.co/androidstudio/app-test-app-conflict для деталей.
Я новичок в Android и не могу найти, что это за ошибка. Как мне это исправить?
2.0.1
работает и v (независимо от того, обе версии должны быть идентичными).Это связано с эспрессо. Вы можете добавить следующее в свои приложения,
build.grade
чтобы смягчить это.источник
exclude group: 'com.android.support', module: 'support-annotations'
МЕТОД 1: Я удалил androidTestCompile на линии espresso-core, которая автоматически была включена в новый проект. Тогда моя Android Studio компилируется чисто.
AndroidTestCompile находится в "build.gradle (Module: app)":
Я не знаю, будет ли у этого удаления какая-либо проблема в будущем, но сейчас это точно работает для моего текущего проекта.
МЕТОД 2: Добавление исключения на findbugs тоже работает:
МЕТОД 3: Принудительная компиляция с определенной версией:
(в следующем я вынуждаю его компилировать с более высокой версией.)
источник
Из Gradle Plugin Руководство пользователя :
Добавьте эту строку в ваши зависимости build.gradle, чтобы использовать более новую версию для обоих APK:
compile('com.google.code.findbugs:jsr305:2.0.1')
Для дальнейшего использования вы можете проверить консоль Gradle, и рядом с ошибкой появится полезная ссылка, которая поможет устранить любые ошибки сборки gradle.
источник
Причина, по которой это происходит, заключается в том, что diff-зависимости используют одну и ту же библиотеку diff-версии.
Итак, есть 3 шага или (1 шаг) для решения этой проблемы.
первый
Добавить
в ваш
build.gradle
файл вandroid {...}
второй
Откройте терминал в Android
Run
./gradlew -q app:dependencies
команду запуска .третий
Нажмите в
Clean Project
строке меню андроид студии вBuild
списке.Он перестроит проект, а затем
remove
код в 1-м шаге.Может быть, вам нужно просто выполнить 2-й шаг. Я не могу откатиться, когда происходит ошибка. Попробуй.
источник
Когда я добавил
module: 'jsr305'
как дополнительное исключение, у меня все получилось.})
источник
Проблема, как указано в ваших журналах, состоит в том, что 2 зависимости пытаются использовать разные версии 3-й зависимости. Добавьте одно из следующего в файл app-gradle:
источник
Принятый ответ является одним из способов решения проблемы, поскольку он просто применяет некоторую стратегию для проблемной зависимости (com.google.code.findbugs: jsr305) и решает проблему вокруг проекта, используя некоторую версию этой зависимости. В основном это выровняет версии этой библиотеки внутри всего проекта.
Есть ответ от @Santhosh (и нескольких других людей), который предлагает исключить ту же зависимость для эспрессо, которая должна работать таким же образом, но если у проекта есть некоторые другие зависимости, которые зависят от той же библиотеки (com.google .code.findbugs: jsr305), снова у нас будет та же проблема. Поэтому, чтобы использовать этот подход, вам нужно исключить одну и ту же группу из всех зависимостей проекта, которые зависят от com.google.code.findbugs: jsr305. Я лично обнаружил, что Espresso Contrib и Espresso Intents также используют com.google.code.findbugs: jsr305.
Я надеюсь, что эти мысли помогут кому-то понять, что именно здесь происходит и как все это работает (а не просто скопировать код) :).
источник
Добавьте это в зависимости, чтобы принудительно использовать последнюю версию библиотеки findbugs:
источник
удаление эспрессо-зависимостей в gradle-файле у меня работает.
удалите эти строки в файле приложения:
источник
Те , кто получает такую же ошибку в Android 3.0.1, может решить ее просто обновить версию о compileSdkVersion и targetSdkVersion до 27 , а также Реализовать com.android.support:appcompat-v7:27.1.1' в зависимости .
источник
В проекте ': app' вы можете добавить следующее в файл app / build.gradle:
источник
Для реакции-native-firebase добавление этого в
app/build.gradle
раздел зависимостей заставило меня работать:источник
я пытался использовать airbnb deeplink dispatch и получил эту ошибку. мне также пришлось исключить группу findbugs из annotationProcessor.
источник
РЕАГИРУЙТЕ НАРОДНОЕ
Если вы ищете решение для нативного реагирования, то напишите этот фрагмент в ваш файл сборки gradle для node_modules, например, firebase в моем случае.
источник