Android代码中class后用null关键字报错的原因及解决咨询
Java中出现
class null定义的原因及解决办法 你的假设基本正确,这种情况大概率是反编译工具的异常输出,具体原因和分析如下:
null是Java的保留关键字,语法上绝对不允许用作类名,所以原始的合法Java代码不可能出现这种写法。- 应用能在手机正常运行,说明实际运行的字节码中要么没有这些类,要么这些类完全没有被其他代码引用。反编译过程中,工具可能因为字节码混淆、代码裁剪,或者自身bug,把原本不存在的类名错误输出成了
null。 - 你将类名改为
Null后显示no usages,这说明这些类原本就没有被应用的其他代码引用——如果是修改标识符导致的无引用提示,Android Studio会同步提示其他地方的引用错误,但这里直接显示无使用,证明这些类从一开始就是反编译生成的冗余垃圾代码。
解决办法
- 直接删除这些以
null为类名的文件,或者将类名修改为合法标识符(比如Null),因为它们本来就不影响应用运行,只是反编译产生的无效代码。 - 若担心删除有问题,可先编译运行验证——应用原本就能正常运行,说明这些类没有实际作用。
内容的提问来源于stack exchange,提问作者Valenj10
相关产品推荐
相关产品推荐

