错误: 找不到符号

Error:(31, 29) 错误: 找不到符号
符号:   类 OnLaunchPluginCallback
位置: 类 IreaderPlugApi

明明我都可以ctrl + 单击点过去,但是就是运行的时候报错。说错误: 找不到符号。
我试了两遍,把工程clearn, 删除build下面的文件夹,弄了两遍,我应该做出这样的结论才不至于说对的起我折腾的这几次。

说明,就不是这里的问题。不管是clearn,说明就不是clearn的问题。

然后应该往其他方向找,过了一天我才想到问题在哪。
因为我那个是依赖工程,运行的时候是使用的生成的jar包运行的,所以,找不到符号。而鼠标可以点过去说明源代码可以 编译过去,后来把混淆去掉,果然可以了。

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

困恼了一天,以后就知道了,找不到符号可能是应该你加了混淆。

转载于:https://www.cnblogs.com/caoxinyu/p/6647735.html

Java 编译过程中出现“不到符号错误(`cannot find symbol`)通常是由于编译器无法识别某个标识符(如变量名、方法名、类名等)所导致的。这种错误属于编译时错误,不会在运行时发生,因此必须在代码中修复后才能成功编译和运行程序。 以下是常见原因及对应的解决方法: ### 1. 拼写错误或大小写错误 Java 是一种区分大小写的语言,因此变量、方法和类名的拼写和大小写必须完全匹配。例如: ```java String myVar = "Hello"; System.out.println(myvar); // 报错:不到符号“myvar” ``` 应更正为: ```java System.out.println(myVar); // 正确 ``` ### 2. 未声明变量或方法 在使用变量或方法之前未进行声明或定义,编译器将无法识别该符号。例如: ```java System.out.println(x); // 报错:不到符号“x” ``` 解决方法是确保变量或方法在使用前已正确定义: ```java int x = 10; System.out.println(x); ``` ### 3. 方法或变量作用域问题 如果尝试访问一个超出其作用域的变量或方法,也会导致“不到符号错误。例如,在一个方法中定义的局部变量试图在另一个方法中访问: ```java public class Test { public void method1() { int localVar = 5; } public void method2() { System.out.println(localVar); // 报错:不到符号“localVar” } } ``` 应将变量提升为类成员变量或通过参数传递。 ### 4. 类路径问题或未导入类 当使用外部类或包中的类而未正确导入时,编译器无法识别该类。例如: ```java ArrayList<String> list = new ArrayList<>(); // 报错:不到符号“ArrayList” ``` 应添加正确的 import 语句: ```java import java.util.ArrayList; ``` ### 5. 编译顺序问题 如果程序依赖多个类文件,但未按照正确的顺序进行编译,也可能导致“不到符号错误。确保所有依赖的类文件已正确编译,并在编译主类时指定类路径: ```bash javac -cp . MyClass.java ``` ### 6. JDK 版本不兼容 某些类或方法可能在较旧版本的 JDK 中不可用。例如,`String.isBlank()` 方法仅在 JDK 11 及以上版本中可用。如果使用旧版本的 JDK 编译,则会报错。解决方法是升级 JDK 并确保环境变量配置正确。 ### 7. IDE 缓存问题 在使用集成开发环境(如 IntelliJ IDEA 或 Eclipse)时,有时由于缓存机制,即使代码已修改,IDE 仍可能报错。尝试清理项目并重新构建: - 在 IntelliJ 中:`Build > Clean Project` 和 `Build > Rebuild Project` - 在 Eclipse 中:`Project > Clean` ### 8. Maven 或 Gradle 构建配置问题 如果项目使用构建工具,确保依赖项已正确声明并在 `pom.xml`(Maven)或 `build.gradle`(Gradle)中配置。例如,Maven 中未正确引入依赖可能导致类无法识别。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值