错误记录Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误记录Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )相关的知识,希望对你有一定的参考价值。
一、报错信息
android APT , 使用 注解处理器 生成 Java 代码 , 报如下错误 ;
错误: 无法访问MainActivity_ViewBinder
错误的类文件: D:\\002_Project\\002_Android_Learn\\APT\\app\\build\\intermediates\\javac\\debug\\classes\\kim\\hsl\\apt\\MainActivity_ViewBinder.class
非法的类文件开始
请删除该文件或确保该文件位于正确的类路径子目录中。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
二、解决方案
在 D:\\002_Project\\002_Android_Learn\\APT\\app\\build\\intermediates\\javac\\debug\\classes\\kim\\hsl\\apt\\MainActivity_ViewBinder.class 目录中已经存在了一个文件 , 之前使用 ButterKnife 时生成的文件 ;
根据 完整 包名 + 类名 生成文件 , 使用的是 createClassFile API , 生成字节码文件 , 这里的用法错误 ;
// 根据 包名.类名_ViewBinder 创建 Java 文件
JavaFileObject javaFileObject = mFiler.createClassFile(packageName + "." + className);
必须使用如下方法 :
// 根据 包名.类名_ViewBinder 创建 Java 文件
JavaFileObject javaFileObject = mFiler.createSourceFile(packageName + "." + className);
眼瞎写错了 , 一般人不会点进来 , 留个错误记录 , 挂着吧 ;
以上是关于错误记录Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Android 编译时技术版本警告 ( 注解处理器与主应用支持的 Java 版本不匹配 )
错误记录IntelliJ IDEA 编译 Java 文件报错 ( 错误: 非法字符: ‘ufeff‘ )
错误记录Android Studio 编译时 Kotlin 代码编译报错 ( 升级支持库时处理 @NonNull 参数 )
Android Studio错误日志-注解报错Annotation processors must be explicitly declared now.
错误记录Android Studio 编译报错 ( The minCompileSdk (33) specified in a dependency‘s AAR metadata META-I )