Android Studio 打开已有项目,编译出错,提示“错误: 找不到符号”的解决方法

Android Studio 打开已有项目,编译出错,提示“错误: 找不到符号”的解决方法,第1张

概述在开发过程中,经常会遇到多人、异地协同工作的模式。鉴于每个人使用的AndroidStudio版本不同、gradle环境的不同,我们可能会遇到打开别人的项目编译不过的问题。对于AndroidStudio的这个臭毛病,如果遇到了真的还挺烧脑。比如下面这种报错:>Task:app:compileROWDebugJavaWit

在开发过程中,经常会遇到多人、异地协同工作的模式。

鉴于每个人使用的AndroID Studio版本不同、gradle环境的不同,我们可能会遇到打开别人的项目编译不过的问题。

对于AndroID Studio的这个臭毛病,如果遇到了真的还挺烧脑。比如下面这种报错:

> Task :app:compileROWDeBUGJavaWithJavac FailedE:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\network\Accesspoint.java:20: 错误: Nullable在androID.annotation中不是公共的; 无法从外部程序包中对其进行访问import androID.annotation.Nullable;                         ^E:\Source\test\SetupWizardExt\app\src\main\java\com\test\wizardmanager\utils\WizardActionParser.java:3: 错误: NonNull在androID.annotation中不是公共的; 无法从外部程序包中对其进行访问import androID.annotation.NonNull;                         ^E:\Source\test\SetupWizardExt\app\src\main\java\com\test\wizardmanager\WizardManager.java:21: 错误: 找不到符号import static androID.content.Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT;^  符号:   静态 FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT  位置: 类E:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\utils\GlobalConfigUtil.java:28: 错误: 找不到符号import static androID.app.ActivityManager.getCurrentUser;^  符号:   静态 getCurrentUser  位置: 类E:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\LenovoGestureNavigationSettingsActivity.java:51: 错误: 找不到符号import static androID.os.UserHandle.USER_CURRENT;^  符号:   静态 USER_CURRENT  位置: 类E:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\LenovoGestureNavigationSettingsActivity.java:50: 错误: 找不到符号import static androID.app.ActivityManager.getCurrentUser;^  符号:   静态 getCurrentUser  位置: 类......E:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\network\WifiTracker.java:330: 错误: 找不到符号                            Settings.Global.SPEED_LABEL_CACHE_evictION_AGE_MILliS,                                           ^  符号:   变量 SPEED_LABEL_CACHE_evictION_AGE_MILliS  位置: 类 GlobalE:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\network\WifiTracker.java:500: 错误: 找不到符号                        !(config.selfAdded && config.numAssociation == 0)) {                                ^  符号:   变量 selfAdded  位置: 类型为WifiConfiguration的变量 config注: 某些输入文件使用或覆盖了已过时的 API。注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。注: 某些输入文件使用了未经检查或不安全的 *** 作。注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。注: 某些消息已经过简化; 请使用 -Xdiags:verbose 重新编译以获得完整输出100 个错误FAILURE: Build Failed with an exception.* What went wrong:Execution Failed for task ':app:compileROWDeBUGJavaWithJavac'.> Compilation Failed; see the compiler error output for details.* Try:Run with --stacktrace option to get the stack trace. Run with --info or --deBUG option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgDeprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.Use '--warning-mode all' to show the indivIDual deprecation warnings.See https://docs.gradle.org/5.1.1/userguIDe/command_line_interface.HTML#sec:command_line_warningsBUILD Failed in 5s45 actionable tasks: 8 executed, 37 up-to-date16:03:06: Task execution finished 'assembleROW'.

上面所示的找不到符号的共有二十多个文件(中间以省略号代替),我试着找了几个,提到的变量或者方法在指定的类中都是存在的,很奇怪为啥AS睁眼说瞎话呢,随后我把我的解决过程附在下面:

点Build-Clean Project试了没用。。。点file-InvalIDate Caches/Restart试了没用。。。于是怀疑版本不对,询问了做这个项目的同事,对比了sdk,gradle配置等都一样。。。然后怀疑与AndroID Studio一些设置有关。。。经确认,没问题的版本是3.4.2,我的3.5的,别的同事的3.6等等版本的AndroID Studio都不可以,一样样的问题。然后我觉得是高版本的不行,于是下载了3.4.2,唉,还是不行。。。最后没办法了,咨询了一个朋友,建议我清除AndroIDStudio的缓存试试,我就清了一下,然后重新打开项目,竟然编译通过了!

【缓存在C:\Users\主机名 找到 .AndroIDStudiox.x(可能有多个版本的,至少要清了不再使用的版本缓存)】

总结:经历一番鏖战(总计三天的时间,22333...),终于解决了,希望这篇文章能给存在同样问题的你一个帮助,拿走不谢!!!

 

总结

以上是内存溢出为你收集整理的Android Studio 打开已有项目,编译出错,提示“错误: 找不到符号”的解决方法全部内容,希望文章能够帮你解决Android Studio 打开已有项目,编译出错,提示“错误: 找不到符号”的解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1060887.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存