При создании проекта я получаю следующую ошибку:
org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:35)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:207)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:133)
at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Компилятор Java:
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
Это мой уровень проекта build.gradle:
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'com.google.gms:google-services:3.1.1'
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url "https://maven.google.com"
}
maven {
url "https://jitpack.io"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Кто-нибудь знает, как это исправить?
@CommonsWare Я выделил текст под заголовком Build> Run Build> Run Tasks>: app: compileDebugJavaWithJavac, у каждого из которых был красный восклицательный знак. Есть ли другие данные, которые мне было бы полезно предоставить?
@CommonsWare У меня также есть это предупреждение: WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'. EDIT Теперь переход от компиляции к реализации.
compile - это просто предупреждение. В представлении «Сборка» вторая кнопка панели инструментов сверху вниз переключает вас между представлением в виде дерева и необработанным выводом консоли Gradle. Вы можете проверить необработанный вывод, чтобы увидеть, есть ли какие-либо детали ошибки компиляции Java, на которые намекает исключение из вашего вопроса.
@CommonsWare, спасибо. Мне удалось определить, что какой-то код, использующий ArticleListAdapter для неиспользуемого класса, вызвал ошибку. После удаления этого вместе с изменением компиляции на реализацию на моем уровне приложения build.gradle решил это.
Я решил это с помощью предложения @CommonsWare перейти на вторую кнопку панели инструментов представления сборки сверху вниз, которая переключает между древовидным представлением и необработанным выводом консоли Gradle. Ошибка показала, что это было вызвано использованием устаревшего представления ArticleListAdapter. Удаление этого исправило ошибку.
Другое предупреждение было исправлено путем изменения compile на implementation в build.gradle уровня приложения.
Вау, это было очень полезно. Я также видел только «Причина: org.gradle.api.internal.tasks.compile.CompilationFailedException: Ошибка компиляции; подробности см. В выводе ошибок компилятора». и это представление сборки было тем, где была информация. Спасибо, @CommonsWare!
Боже мой, все это в Build View. Большое спасибо.
Отлично !! Очень полезно, я добавлю к нему только команду --scan внутри параметров командной строки, например: Настройки-> Сборка, Выполнение, Развертывание-> Компилятор ---> Текстовое поле Параметры командной строки - (внутри текстового поля написать) -> --scan
Рад, что смог помочь :)
@Paradox, Отлично ... В моем случае это была обычная ошибка компиляции кода, но из-за какой-то странной проблемы студия Android не показывала ее. Переключение на просмотр с помощью этого переключателя показало мне класс, содержащий ошибку. Потратил часы на эту глупость. Еще раз спасибо.
Отличный @Paradox! Не знаю, почему я всю жизнь следил за неправильным просмотром журнала сборки !!
Очень полезный ответ.
Спасибо за Paradox, его ответ мне помог.
в последней версии Android Studio, значок был изменен
В моем случае эта проблема возникла из-за некоторых ошибочных операторов импорта после удаления класса. Я смог найти где, с подтвержденным ответом MOmen zaquot.
Рад помочь вам :)
Просто удалите версию Gradle от последней до любой более низкой версии (3.3.1)
Разрешите использовать деприминированный NDK следующим образом:
TL; DR: запустить со сканированием.
Я столкнулся с этой же проблемой несколько минут назад. В дополнение к замечательному ответу @Momen [Изображение размещено ниже]. Я сделал дополнительное наблюдение.
Когда я щелкнул значок, как показано на изображении выше, я все еще не мог определить точную проблему, поскольку журналы были едва ли исчерпывающими. Однако под огромной грудой бревен была опция запустить со сканированием.
Щелчок по запустить со сканированием в конечном итоге выделил точную ошибку компиляции.
Я действительно надеюсь, что это кому-то поможет. Веселого кодирования!
надеюсь, это поможет
Настройки-> Сборка, Выполнение, Развертывание-> Компилятор ---> Текстовое поле Параметры командной строки - (запись внутри текстового поля) -> --scan
Пожалуйста, объясните, что делает сканировать и почему он устраняет эту проблему.
Вы уверены, что перед отображаемой вами трассировкой стека нет ничего примечательного?