我在AndroidStudio中导入twitter4j,在build.gradle中使用以下内容:
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,关闭并重新打开我的项目。
答案 0 :(得分:226)
不知道这是否有效但是到目前为止我唯一的想法:右键单击AS中文件树中的jar文件并选择"添加为库..."
编辑:你可以做"文件" - > "使高速缓存无效...",然后选择"无效并重新启动"修复此问题的选项。
编辑2:此修复程序应适用于所有类似事件,而不是特定于twitter4j的解决方案。
答案 1 :(得分:33)
尝试更改文件>中依赖项的顺序;项目结构> (选择你的项目)>的依赖关系。
无效缓存并不适合我,但将我的构建从列表底部移到顶部。
答案 2 :(得分:11)
这对我有用。
在“项目”面板中,右键单击项目名称,然后单击
从弹出菜单中选择 end
arr.push(largest)
idx += 1
i = idx + 1
。
然后将Open Module Settings
更改为可用的最低版本(您在项目中设置的最小sdk版本)。
等待android studio加载所有内容。
它会给你一些错误,忽略它们。
现在转到你的java文件,android studio会建议你导入
import android.support.v4.app.FragmentActivity;
导入它,然后返回Compile SDK Version
并将编译sdk版本更改回之前的版本。
等待事情加载瞧。
答案 3 :(得分:9)
因为我的是由导入的库项目引起的,在build.gradle中键入内容并再次删除它并立即按下同步,错误就消失了。
答案 4 :(得分:5)
我的Android应用程序也存在此问题,具体取决于我自己的Android库(使用Android Studio 3.0和3.1.1)。
每当我更新lib并返回应用程序,触发Gradle Sync时,Android Studio都无法检测到我对lib所做的代码更改。编译工作正常,但Android Studio在使用lib的某些代码上显示红色错误行。
经过调查,我发现这是因为gradle一直指向我的libs的旧编译版本。 如果你转到yourProject / .idea / libraries /,你会看到一个xml文件列表,其中包含libs编译版本的链接。这些文件以Gradle__artifacts _ * .xml开头(其中*是libs的名称)。
因此,为了让Android Studio获取最新版本的库,您需要删除这些Gradle__artifacts _ *。xml文件,Android Studio将重新生成它们,指向您库的最新编译版本。
如果您不希望每次单击“Gradle sync”(谁想要这样做......)时手动执行此操作,您可以在app的build.gradle文件中添加此小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窗口,然后在您的App / Tasks / other /下找到“deleteArtifacts”任务,右键单击它,选择“同步前执行”(见下文)。
现在,每次进行Gradle同步时,Android Studio都将被迫使用最新版本的库。
答案 5 :(得分:4)
当我在我的项目中遇到这个问题(红色代码,但它们正常工作)时;
首先,我做到了(文件 - &gt;指示兑现) - &gt; (无效并重新启动)。
最后,我在我的应用程序中重新同步了build.gradle文件。问题解决后。
答案 6 :(得分:3)
Invalidate Caches / Restart
这次对我不起作用。
找到这样的解决方案:
删除build.gradle中的compile ***
或implementation ***
行。
清理并重建。这里应该提出错误。
将步骤1中的行添加回build.gradle。
清理并重建。
...怪异
答案 7 :(得分:2)
当我的Glass项目没有使用安装在Android Studio默认位置的SDK时,我遇到了这个问题。我正在使用我之前从ADT获得的另一个位置,因为我试图避免重新下载所有内容。一旦我将项目指向Android Studio安装位置的SDK位置,问题就消失了。
答案 8 :(得分:2)
我有这个问题已经有几天了,终于弄明白了! 所有其他解决方案对我来说都没有用。
解决方案:我的项目路径中有特殊字符!
请确保没有这些,你应该没事,否则至少其中一个解决方案应该适合你。
希望这有助于某人!
答案 9 :(得分:1)
无效缓存对我不起作用(这次)。对我来说,改变gradle并再次同步就足够了。或https://stackoverflow.com/a/29565362/2000162
答案 10 :(得分:1)
对于那些尝试接受答案而没有成功的人,
我也尝试了接受的答案,并没有为我工作。之后,我使用存储库更新了我的项目并同步了项目,并且无法解决警告消失。
答案 11 :(得分:1)
最近Android Studio 1.3出现了同样的问题。唯一可行的解决方案是删除.gradle和.idea文件夹,然后将项目重新导入Android Studio。
答案 12 :(得分:0)
在我的情况下,jar文件没有META-INF / MANIFEST.MF文件。添加一个后,它就可以了!
答案 13 :(得分:0)
答案 14 :(得分:0)
这对我有用 - (文件 - &gt;表示兑现) - &gt; (无效并重新启动)。
答案 15 :(得分:0)
如果没有其他帮助,您可以按Android Studio suddenly cannot resolve symbols推荐:
- 退出Android Studio
- 备份项目
- 删除所有.iml文件和.idea文件夹
- 重新启动Android Studio并重新导入您的项目
答案 16 :(得分:0)
就我而言,我使用GUI创建了一个新文件,并在文件中定义了一个接口。我一直收到此符号错误,因为该文件不是“java”文件。根本没有任何扩展。
将文件扩展名修改为“.java”后,系统会正确查找符号。
答案 17 :(得分:0)
在build.gradle中将编译更改为实现。
答案 18 :(得分:0)
将光标置于带红色下划线的代码和
上Alt + Enter
现在选择
Language Injection Settings
,将打开一个窗口,如下所示。
取消选中所选选项,然后单击“确定”
希望这对某人有帮助。
答案 19 :(得分:0)
当我删除.gradle/caches
中的整个文件,然后Studio下载了依赖项时,这件事发生了。 External Libraries
中未显示相关性,但我可以成功构建App。 rebuild
clean
Invalidate and Restart
无效。我通过以下步骤解决了这个问题:
.idea
程序包答案 20 :(得分:0)
我已经尝试过了,但是对我没有用:
=COUNTIFS(Q103:Q105, "WO",
R103:R105, "Satisfactory Performance",
S103:S105, ">="&date(2018, 10, 1),
S103:S105, "<"&date(2018, 11, 1),)
Invalidate Caches / Restart
Changing the order of dependencies
Sync project with Gradle Files
就我而言,只需:
Clean -> Rebuild Project
Delete all files in .idea/libraries folder
答案 21 :(得分:0)
对我来说,我已将 gradle-wrapper.properties更新为4.4
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
答案 22 :(得分:0)
识别在Studio中引起语法错误的库。
例如,如果AppCompatActivity
显示错误,则您将对AppCompat依赖项执行以下操作。
就是这样,错误消失了!
答案 23 :(得分:0)
以上答案对我都不起作用。
经过大量尝试,我将Project / build.gradle中的com.android.tools.build:gradle从2.3.0升级到了3.0.1,并且可以正常工作。
我猜com.android.tools.build:gradle的版本应该与AndroidStudio的版本匹配,我的AS版本是3.2.1
答案 24 :(得分:0)
关闭所有文件并关闭Android Studio对我来说是可行的。
答案 25 :(得分:-2)
您需要重新启动Android Studio。