#android #gradle #android-gradle-plugin #build.gradle #gradle-plugin
#Android #gradle #android-gradle-плагин #build.gradle #gradle-плагин
Вопрос:
Моя сборка недавно перестала работать для проекта gradle / Android с открытым исходным кодом. До сегодняшнего дня (10 октября 2016 года) они работали просто отлично. Я запускаю матрицу сборки для нескольких версий (на travis) gradle и плагина gradle для Android. По сути, теперь он не работает в gradle 3.0 и 3, оба с плагином gradle Android 2.2.0. Другие версии, использующие разные плагины для Android, в порядке. Сбой происходит только в плагине 2.2.0.
Часть, которая меня сбивает с толку, — это сообщение об ошибке
:hello-world-aar:preBuild UP-TO-DATE
:hello-world-aar:preDebugBuild UP-TO-DATE
:hello-world-aar:checkDebugManifest
:hello-world-aar:preDebugAndroidTestBuild UP-TO-DATE
:hello-world-aar:preDebugUnitTestBuild UP-TO-DATE
:hello-world-aar:preReleaseBuild UP-TO-DATE
:hello-world-aar:preReleaseUnitTestBuild UP-TO-DATE
:hello-world-aar:prepareOrgOsmdroidOsmdroidAndroid541ReleaseLibrary
:hello-world-aar:prepareDebugDependencies
:hello-world-aar:compileDebugAidl
:hello-world-aar:compileDebugNdk UP-TO-DATE
:hello-world-aar:compileLint
:hello-world-aar:copyDebugLint SKIPPED
:hello-world-aar:compileDebugRenderscript
:hello-world-aar:generateDebugBuildConfig
:hello-world-aar:generateDebugResValues
:hello-world-aar:generateDebugResources
:hello-world-aar:mergeDebugResources
:hello-world-aar:processDebugManifest
:hello-world-aar:processDebugResources
:hello-world-aar:generateDebugSources
:hello-world-aar:incrementalDebugJavaCompilationSafeguard
:hello-world-aar:compileDebugJavaWithJavac
:hello-world-aar:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:hello-world-aar:extractDebugAnnotations FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':hello-world-aar:extractDebugAnnotations'.
> com/intellij/psi/PsiJavaFile
Опять же, это касается проекта Android Archive (AAR). Я искал и не могу найти много по этому классу. Нигде в моем коде на это нет ссылок. Мое лучшее предположение заключается в том, что Google изменил библиотеку поддержки или что-то, что что-то сломало. Я также создаю из командной строки через travis. Я понятия не имею, откуда берется материал intellij.
Комментарии:
1. Сегодня я начал видеть это и один из моих Дженкинсов, созданных в рамках нескольких разных проектов aar.
2. Я вижу это из сборки Gradle с использованием AIDE для Android. Проблема началась не так давно…
3. bintray.com/android/android-tools/… похоже, что новая версия была удалена из центра, 2.2.1
4. Здесь была обнаружена ошибка: code.google.com/p/android/issues/detail?id=224910
Ответ №1:
исправлено путем очистки кэша с помощью:
rm -rf ~/.gradle/caches/
Ответ №2:
Это было исправлено в соответствии с https://code.google.com/p/android/issues/detail?id=224910 . Вы можете перестроить свой проект с помощью командной строки gradle после локальной очистки кэша gracle (rm -rf ~/.gradle/caches/)
Кроме того, вам нужно выполнить ту же операцию с вашим агентом CI.
Комментарии:
1. все еще сломан на travis
2. n, исправлено. очень раздражает
Ответ №3:
Я только что столкнулся с той же проблемой. Проблемой в моем проекте был пустой IntDef . Если очистка кэша gradle не работает, проверьте, нет ли у вас пустых Def в вашем коде, и удалите их.
@IntDef({})
или @StringDef({})
…
Комментарии:
1. Спасибо за комментарий. У меня возникла проблема
.gradlew library:assemble
с Apple M1, и некоторые из них были вызваны@IntDef
. Возможно, этот комментарий полезен для других людей. Ошибка заключалась в следующем:Execution failed for task ':library:extractReleaseAnnotations'. > A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintWorkAction > Internal error: unexpected lint return value -1