【错误记录】Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )

2023-03-29 12:49:03 浏览数 (1)

文章目录

  • 一、报错信息
  • 二、解决方案

一、报错信息


Android APT , 使用 注解处理器 生成 Java 代码 , 报如下错误 ;

代码语言:javascript复制
错误: 无法访问MainActivity_ViewBinder
  错误的类文件: D:02_Project02_Android_LearnAPTappbuildintermediatesjavacdebugclasseskimhslaptMainActivity_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:02_Project02_Android_LearnAPTappbuildintermediatesjavacdebugclasseskimhslaptMainActivity_ViewBinder.class 目录中已经存在了一个文件 , 之前使用 ButterKnife 时生成的文件 ;

根据 完整 包名 类名 生成文件 , 使用的是 createClassFile API , 生成字节码文件 , 这里的用法错误 ;

代码语言:javascript复制
// 根据 包名.类名_ViewBinder 创建 Java 文件
JavaFileObject javaFileObject = mFiler.createClassFile(packageName   "."   className);

必须使用如下方法 :

代码语言:javascript复制
// 根据 包名.类名_ViewBinder 创建 Java 文件
JavaFileObject javaFileObject = mFiler.createSourceFile(packageName   "."   className);

眼瞎写错了 , 一般人不会点进来 , 留个错误记录 , 挂着吧 ;

0 人点赞