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"任务,右键单击它并选择"执行同步之前"(请参见下文)。

0fe69fac36559286616ce655d9d3a46c.png

现在,每次执行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

cdea9ec729d052d99dfe5ce72937bcf6.png

Now select Language Injection Settings and a window will open as shown below.

26dde7ed1a3fc0c6fff864887800893c.png

Uncheck the selected option and click Ok

4f8a91d4a68d8944731e3c1e9d263ab6.png

希望这对某人有帮助。

当我删除.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依赖项执行以下操作。

删除显示语法错误和同步的依赖项。

再次添加并同步。

就是这样,错误消失了!

之前

d684f5111b0e7996d7478032367aa2a5.png

7158fbd79df6d06178b9e877b94709b4.png

上面的答案都不适合我。

经过大量尝试,我将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包装器/分发以使用本地包装(尽管被"推荐")。

f4df934ce4a0a7eedfa545675358e979.png

您需要重新启动Android Studio。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值