Butterknife: Error:Execution failed for task ':app:generateDebugR2'. > java.io.FileNotFoundException:

Created on 9 Jan 2018  ·  13Comments  ·  Source: JakeWharton/butterknife

My applicationId is different with my packageName, it went wrong when gradle build:

Error:Execution failed for task ':app:generateDebugR2'.
java.io.FileNotFoundException: ...appbuildgeneratedsourcerdebugcomxxx MyApplicationId(which should be MyPackageName) R.java (系统找不到指定的路径。)

But I have changed the application ID from the default one, which is same with the package name, for several weeks, the butter knife works well till yesterday.

Gradle stack trace:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:generateDebugR2'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
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:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
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:124)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.api.UncheckedIOException: java.io.FileNotFoundException: ...appbuildgeneratedsourcerdebugcomxxxMyApplicationIdR.java (系统找不到指定的路径。)
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:57)
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:40)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:152)
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:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 27 more
Caused by: java.io.FileNotFoundException: ...appbuildgeneratedsourcerdebugcomxxxMyApplicationIdR.java (系统找不到指定的路径。)
at com.github.javaparser.Providers.provider(Providers.java:62)
at com.github.javaparser.Providers.provider(Providers.java:66)
at com.github.javaparser.JavaParser.parse(JavaParser.java:212)
at butterknife.plugin.FinalRClassBuilder.brewJava(FinalRClassBuilder.java:40)
at butterknife.plugin.ButterKnifePlugin$configureR2Generation$1$1$$special$$inlined$apply$lambda$1.execute(ButterKnifePlugin.kt:67)
at butterknife.plugin.ButterKnifePlugin$configureR2Generation$1$1$$special$$inlined$apply$lambda$1.execute(ButterKnifePlugin.kt:18)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:731)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:705)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
... 33 more

Most helpful comment

I found a workaround.

replace
classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT"
by
classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-20171223.061039-23"
This is the previous snapshot version.

EDIT
As mentioned by @ameriod below, this workaround may not be necessary.
By removing apply plugin: 'com.jakewharton.butterknife' from my app gradle file, i can now revert to classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT" thus keep using the last build.

All 13 comments

screen shot 2561-01-09 at 11 31 27 am

please help me
my team are waiting for the result.
thank you very much

My package name is com.xxx.yyy

  • realse applicationId is com.xxx.yyy , build successful
  • debug: applicationId com.xxx.yyy.debug, build failed
    Execution failed for task ':app:generateDebugR2'. java.io.FileNotFoundException: D:\android\...\app\build\generated\source\r\debug\com\xxx\yyy\debug\R.java (系统找不到指定的路径。)

@zhuanglee same problem to me.if you resolve,please tell me ,thank you

@zhuanglee same problem to me.if you resolve,please tell me ,thank you

it seems like update somethings yesterday. for 9.0.0-SNAPSHOT

Fuck. I was almost losing hope solving this awhile ago figuring out what did I changed but I am pretty sure its working awhile ago then suddenly it cant build. Please fix this I'm losing time on my deadline..

the same problem to me. @JakeWharton . hope you could fix it asap. thx.

I found a workaround.

replace
classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT"
by
classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-20171223.061039-23"
This is the previous snapshot version.

EDIT
As mentioned by @ameriod below, this workaround may not be necessary.
By removing apply plugin: 'com.jakewharton.butterknife' from my app gradle file, i can now revert to classpath "com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT" thus keep using the last build.

@Alexandre-saddour Thank you for saving us development time!

You do not need the gradle plugin in any application modules, if you remove the plugin everything will work normally

I met with the same problem, and my case is like @zhuanglee.

  • release build applicationId is me.javayhu.poetry .debug
  • debug build applicationId is me.javayhu.poetry

Thanks for @Alexandre-saddour for your wonderful answer.

Here I found another workaround if you are not in hurry. You can temporarily comment out the configuration of applicationIdSuffix in debug buildType, then you will find everything is normal.

butterknife-debug

i have the same problem
i was coding and suddenly this error came up after # rebuildProject and now AS can't solve R2 symbol

here's Error message:

Error:Execution failed for task ':app:generateDebugR2'.

(line 3858,col 61) Parse error. Found "=", expected one of ";" "<" "@" "abstract" "boolean" "byte" "char" "class" "default" "double" "enum" "exports" "final" "float" "int" "interface" "long" "module" "native" "open" "opens" "private" "protected" "provides" "public" "requires" "short" "static" "strictfp" "synchronized" "to" "transient" "transitive" "uses" "void" "volatile" "with" "{" "}"
Problem stacktrace :
com.github.javaparser.GeneratedJavaParser.generateParseException(GeneratedJavaParser.java:10271)
com.github.javaparser.GeneratedJavaParser.jj_consume_token(GeneratedJavaParser.java:10130)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBody(GeneratedJavaParser.java:860)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceDeclaration(GeneratedJavaParser.java:408)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBodyDeclaration(GeneratedJavaParser.java:913)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBody(GeneratedJavaParser.java:846)
com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceDeclaration(GeneratedJavaParser.java:408)
com.github.javaparser.GeneratedJavaParser.CompilationUnit(GeneratedJavaParser.java:154)
com.github.javaparser.JavaParser.parse(JavaParser.java:131)
com.github.javaparser.JavaParser.simplifiedParse(JavaParser.java:337)
com.github.javaparser.JavaParser.parse(JavaParser.java:212)
butterknife.plugin.FinalRClassBuilder.brewJava(FinalRClassBuilder.java:40)
butterknife.plugin.ButterKnifePlugin$configureR2Generation$1$1$$special$$inlined$apply$lambda$1.execute(ButterKnifePlugin.kt:67)
butterknife.plugin.ButterKnifePlugin$configureR2Generation$1$1$$special$$inlined$apply$lambda$1.execute(ButterKnifePlugin.kt:18)
org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:731)
org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:705)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
java.lang.Thread.run(Thread.java:745)

Was this page helpful?
0 / 5 - 0 ratings