android xml 未能解析文件,android studio提示“无法解析符号”,但项目已编译 -尊龙游戏旗舰厅官网
我在build.gradle中使用以下内容在androidstudio中导入twitter4j:
dependencies {
compile 'com.android.support:support-v4:18.0. '
compile files('libs/twitter4j-core-3.0.4.jar')
}
该项目编译正常,我可以毫无问题地创建twitter对象。 但是,在android studio中,引用该库的所有内容均显示"无法解析符号"并显示为红色。 我需要做什么才能使android studio识别该库?
我已经尝试过重建项目,。/ gradlew clean,然后关闭并重新打开我的项目。
android studio的可能重复项无法解析符号,但代码正确执行
2018年,android studio 3 :有时,android studio和gradle不同意。 尊龙游戏旗舰厅官网的解决方案在这里:stackoverflow.com/questions/50313885/
将练习项目导入android studio后,我遇到了同样的问题。 导入android studio时,警告我并建议更新sdk版本,因此我遵循了建议。 之后,某些内容不再兼容,因此android studio建议更改其他版本。 遵循所有这些建议后,我遇到了相同的"找不到符号"问题。 我撤消了更改,再次导入了项目,这次没有遵循android studio的提示。 之后,错误消失了。 小心盲目遵循该程序的建议。
相关文章-android studio突然无法解析符号
不知道这是否行得通,但到目前为止,我唯一的想法是:右键单击as中文件树中的jar文件,然后选择"添加为库..."。
编辑:您可以执行"文件"->"使缓存无效...",然后选择"使无效并重新启动"选项以解决此问题。
编辑2:此修复程序应适用于所有类似的事件,而不是特定于twitter4j的尊龙游戏旗舰厅官网的解决方案。
右键单击罐子时,我没有将其作为选择。我正在运行0.2.13。
这可能意味着您已经做到了。尝试"文件">"项目结构",并确认在"模块"节点中看到.jar文件。
啊,是的,它在那里。
您可以执行"文件"->"使缓存无效...",然后选择"无效并重新启动"选项以解决此问题。不幸的是,那是我的最后一个主意。
使缓存无效并重新启动对我不起作用。我也尝试过重新安装android studio并重新导入项目。这很烦人...
尝试确保已通过sdk管理器下载了最新的支持工具。
" file"->" invalidate caches ..."刚刚保存了我的一天。我在这个问题上浪费了很多时间。为什么这个答案不是最佳搜索结果?非常感谢!
不为我工作。所做的工作是注释出遇到麻烦的行->成功编译整个项目->在行中注释。我认为gradle任务顺序存在问题。
android studio 2.3也可以使用。
感激地折腾
尝试在文件>项目结构>(选择项目)>依赖关系中更改依赖关系的顺序。
invalidate caches对我不起作用,但是将我的构建从列表的底部移到顶部却可以。
更改依赖关系的顺序对我有帮助,我尝试了答案中给出的所有尊龙游戏旗舰厅官网的解决方案,只有您能帮助我,谢谢。
除了这个尊龙游戏旗舰厅官网的解决方案,对我没有任何帮助!谢谢。
向上移动一个依赖项对我来说很成功! (android studio 3.0.1)。
这适用于android studio 3.0.1。
是的,移动依赖项并不重要,只需更改任何人的顺序,这也适用于android studio 3.3。
这对我有用。
在"项目"面板中,右键单击项目名称,然后
从弹出菜单中选择open module settings。
然后将compile sdk version更改为可用的最低版本(您在项目中设置的最低sdk版本)。
等待android studio加载所有内容。
它将给您一些错误,请忽略那些错误。
现在转到您的java文件,android studio会建议您导入
import android.support.v4.app.fragmentactivity;
导入它,然后返回到open module settings并将sdk的编译版本更改回以前的版本。
等待东西加载,瞧。
其出色的工作。就我而言,android studio向我报告了所有无法解析的sdk类(包括string,integer,textview等)。在此之前,astudio还告诉我她找不到我用来编译项目的android-14 sdk。我忽略了这个问题。最终,我找到了答案并按照以下步骤进行操作,更改了编译sdk版本即可。感谢您节省我的时间。
now go to your java file and android studio will suggest you import就我而言
因为我的是由导入的库项目引起的,请在build.gradle中键入一些内容,然后再次将其删除,然后按sync,错误消失了。
我的android应用程序也存在此问题,具体取决于我自己的一些android库(使用android studio 3.0和3.1.1)。
每当我更新一个库并返回到应用程序,触发gradle sync时,android studio就无法检测到我对该库进行的代码更改。编译工作正常,但是android studio使用lib在某些代码上显示了红色错误行。
经过调查,我发现这是因为gradle一直指向我的库的旧编译版本。
如果转到yourproject / .idea / libraries /,您将看到xml文件列表,其中包含指向库的编译版本的链接。这些文件以gradle__artifacts _ *。xml开头(其中*是您的库的名称)。
因此,为了使android studio能够获取您的库的最新版本,您需要删除这些gradle__artifacts _ *。xml文件,然后android studio将重新生成它们,指向您库的最新编译版本。
如果您不想每次单击" gradle sync"(谁愿意这样做...)时都手动执行此操作,则可以将此小gradle任务添加到应用程序的build.gradle文件中。
task deleteartifacts {
dofirst {
file librariesfolderpath = file(getprojectdir().absolutepath "/../.idea/libraries/")
file[] files = librariesfolderpath.listfiles({ file file -> file.name.startswith("gradle__artifacts_") } as filefilter)
for (int i = 0; i < files.length; i ) {
files[i].delete()
}
}
}
为了使您的应用在执行gradle同步之前始终执行此任务,您只需转到gradle窗口,然后在yourapp / tasks / other /下找到" deleteartifacts"任务,右键单击它并选择"执行同步之前"(请参见下文)。
现在,每次执行gradle同步时,android studio都会被迫使用您的库的最新版本。
非常感谢,这对我也很有效!
当我在项目中遇到这个问题(红色代码,但它们可以正常工作)时;
首先,我做到了(文件->指示兑现)->(无效并重新启动)。
最后,我在我的应用程序中重新同步了build.gradle文件。问题解决后。
这次invalidate caches / restart不适用于我。
找到了这样的尊龙游戏旗舰厅官网的解决方案:
删除build.gradle中的compile ***或implementation ***行。
清理并重建。错误应该在这里提出。
将步骤1中的行添加回build.gradle。
清理并重建。
奇怪的...
当我什么都没做时,这对我有用。
不幸的是,它对我没有用。
当我的glass项目未使用android studio默认位置中安装的sdk时,发生了此问题。我正在使用以前从adt获得的另一个位置,因为我试图避免重新下载所有内容。一旦将项目指向android studio安装位置中的sdk位置,问题就消失了。
是的,我想这也是个好消息:默认情况下,android studio将决定所有sdk都安装在默认的android studio安装目录中。如果没有遵循该模式,则需要对此进行修改。
我有几天这个问题,终于解决了!
顺便说一句,所有其他尊龙游戏旗舰厅官网的解决方案都不适合我。
尊龙游戏旗舰厅官网的解决方案:我的项目路径中包含特殊字符!
只要确保这些都不用,就应该没问题,或者至少有其他尊龙游戏旗舰厅官网的解决方案之一适合您。
希望这对某人有帮助!
请检查您的项目路径中是否包含特殊字符,如! (感叹号)。在我遇到stackoverflow.com/questions/32477067/的类似问题中,这是根本原因。许多java应用程序似乎不容许这样的特殊字符(例如,从终端清除gradlew会失败并抛出runtimeexception。)在线发布的其他尊龙游戏旗舰厅官网的解决方案都没有帮助我。但是,一旦我删除了!从头开始并进行了干净的构建,android studio神奇地工作了。
哇!谢谢 :)
无效的缓存对我不起作用(这次)。对我来说,更改gradle并再次同步就足够了。或https://stackoverflow.com/a/29565362/2000162
我最近在android studio 1.3中遇到了同样的问题。唯一可行的解??决方案是删除.gradle和.idea文件夹,然后将项目重新导入到android studio中。
如果没有其他帮助,您可以采取措施,因为android studio突然无法解析符号建议:
exit android studio
back up your project
delete all the .iml files and the .idea folder
relaunch android studio and reimport your project
对于那些尝试接受的答案却没有成功的人,
我也尝试了接受的答案,但对我没有用。之后,我使用存储库更新了我的项目并同步了该项目,但无法解决警告消失了。
就我而言,我已经使用gui创建了一个新文件,并在文件中定义了一个接口。我不断收到此符号错误,因为该文件不是" java"文件。它根本没有扩展。
将文件扩展名修改为" .java"后,系统会正确找到符号。
在我的情况下,jar文件没有meta-inf / manifest.mf文件。添加一个后,它起作用了!
这对我有用-
(文件->指示兑现)->(无效并重新启动)。
关闭所有文件并关闭android studio对我来说很有效。
我尝试了使缓存无效/重新启动或清除项目->重建项目。这些对我没有用。
最终的尊龙游戏旗舰厅官网的解决方案是打开ide左侧的project窗口,在project模式下,删除.gradle和.idea文件夹,然后可以使缓存无效并重新启动。这样就解决了。
不幸的是,它对我没有用。
在build.gradle中将编译更改为实现。
更改语言注入设置对我有用。
place the cursor on any of the red underlined code and alt enter
now select language injection settings and a window will open as shown below.
uncheck the selected option and click ok
希望这对某人有帮助。
当我删除.gradle/caches中的整个文件时,这发生在我身上,然后studio下载了依赖项。 external libraries中未显示依赖关系,但我可以成功构建app。 rebuild clean invalidate and restart无效。我通过以下步骤解决了问题:
完全关闭android studio
删除项目中的.idea包
重新启动android studio
不幸的是,它对我没有用。
我已经尝试过了,但是对我没有用:
invalidate caches / restart
changing the order of dependencies
sync project with gradle files
clean -> rebuild project
就我而言,请执行以下操作:
delete all files in .idea/libraries folder
rebuild project
对我来说,我将gradle-wrapper.properties更新为4.4
distributionurl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
我找到了最简单的方法
确定在studio中引起语法错误的库。
例如,如果appcompatactivity显示错误,则将对appcompat依赖项执行以下操作。
删除显示语法错误和同步的依赖项。
再次添加并同步。
就是这样,错误消失了!
之前
后
上面的答案都不适合我。
经过大量尝试,我将project / build.gradle中的com.android.tools.build:gradle从2.3.0升级到了3.0.1,并且可以正常工作。
我猜com.android.tools.build:gradle的版本应该与androidstudio的版本匹配,我的as版本是3.2.1。
对于使用androidstudio 2.2.3的情况,尊龙游戏旗舰厅官网的解决方案是在gradle设置中更改gradle包装器/分发以使用本地包装(尽管被"推荐")。
您需要重新启动android studio。
总结
以上是尊龙游戏旗舰厅官网为你收集整理的android xml 未能解析文件,android studio提示“无法解析符号”,但项目已编译的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: android 后台邮件发送,andro
- 下一篇: android 测试工程 关闭混淆,混淆