Android studio Android Studio内联编译器显示红色错误,但使用gradle编译效果良好

Android studio Android Studio内联编译器显示红色错误,但使用gradle编译效果良好,android-studio,gradle,square-wire,Android Studio,Gradle,Square Wire,我已经在Android Studio中设置了我的项目,以使用 构建->编译项目工作正常 2:03:10 PM Compilation completed successfully in 31 sec 但是,如果打开一个生成的协议缓冲区文件,则无法识别Square包 另一个症状是,从SquareMessage类继承的方法在编辑器中显示为“无法解决方法”编译错误,即使它们构建和运行良好 除了在我的项目中为我的模块在build.gradle中添加依赖项之外,我还需要做些什么吗?感谢free3do

我已经在Android Studio中设置了我的项目,以使用

构建
->
编译项目
工作正常

2:03:10 PM Compilation completed successfully in 31 sec
但是,如果打开一个生成的协议缓冲区文件,则无法识别Square包

另一个症状是,从Square
Message
类继承的方法在编辑器中显示为“无法解决方法”编译错误,即使它们构建和运行良好


除了在我的项目中为我的模块在
build.gradle
中添加依赖项之外,我还需要做些什么吗?

感谢free3dom让我走上了正确的道路

诊断

Android Studio中的
Sync Project with Gradle Files
选项似乎使
项目结构
库保持最新

但是,在我的案例中,有一些错误:

扩展(不是很明显)链接显示了细节。我的wire运行时库显示在不正确的位置:

这似乎是我最初配置的遗留问题,我将JAR导入libs文件夹

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
随后,我将其更改为直接从Maven Central()导入,似乎旧设置从未被新设置覆盖

修复程序

修复方法是从
项目结构
屏幕中删除库依赖项,然后再次
将项目与Gradle文件同步

更多细节

通过直接打开
.idea/libraries/wire\u runtime\u 1\u 2\u 0.xml
,您还可以查看资源的路径

我的一个坏的是:

  <component name="libraryTable">
  <library name="wire-runtime-1.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />
更新


Android Studio v0.4.4具有相同的症状,因此如果您有较旧的版本,您可能希望升级。

这些解决方案没有帮助我解决Android Studio 0.5.8中的相同问题

我描述了我对同一个问题的回答(我猜):
我刚刚删除了~/.AndroidStudioPreview目录(在Ubuntu中)。我错过了所有的Android Studio设置,但它仍然有效。

简单解决方案

通过链接,它为我工作

  • 从android studio左上方的菜单中选择
    文件
    选项
  • 选择选项:
    invalidatecache/Restart
    它将打开一个对话框
  • 单击带有选项的第一个按钮:
    invalidateandrestart
  • 它将关闭Android Studio并重新启动。此外,它将开始重新编制项目索引
  • 它解决了我的问题

    转到文件使缓存无效/重新启动使缓存无效并重新启动


    我以前也遇到过类似的问题,失效缓存并重新启动并没有解决它。我刚刚做了一个Gradle同步,一切正常。

    1)单击Gradle图标(android studio右侧)

    2)单击刷新按钮,等待问题得到解决:D


    如果以上所有答案都不适合你。 只需尝试将依赖项更新到最新版本。
    它对我很有效。

    升级到Android Studio 3.1后,我遇到了这个问题。 我通过升级我使用的所有组件解决了这个问题。 因此,我在build.gradle(应用程序)中更改了以下条目:

  • 升级SDK(阅读本说明时,请从“CompileSDK版本25”升级到“CompileSDK版本26”或更高版本):

    //编译DK25版

    编译DK26版

    注释:此更改强制程序在下次同步期间下载/安装新sdk

  • 升级appcompat-v7:

    //实现'com.android.support:appcompat-v7:25.4.0'

    实现'com.android.support:appcompat-v7:26.1.0'

  • 升级firebase:

    //实现'com.google.firebase:firebase广告:11.4.2'

    实现'com.google.firebase:firebase核心:12.0.1'

    实现'com.google.firebase:firebase广告:12.0.1'

  • 在PROJECT build.gradle中,升级google服务:

    //classpath'com.google.gms:googleservices:3.1.0'

    classpath'com.google.gms:googleservices:3.2.0'

  • 升级gradle(从4.4升级到4.6)。从gradle-wrapper.properties: 分配=https://services.gradle.org/distributions/gradle-4.6-all.zip


  • 在这些更改之后,清理项目、使缓存无效/重新启动、删除.idea/libraries内容并重新同步(不确定顺序,但所有这些活动都为我解决了问题)。

    以下步骤有帮助

  • 关闭项目,并在项目文件夹中删除
    project/.idea
  • 删除
    ~/.gradle
    文件夹

  • 再次打开项目。一切都应该解决。

    在我的情况下,由于某种原因,Android插件版本没有设置。我确实尝试过清除缓存并删除.gradle和.idea,但没有成功,最终在漫游了几个小时后,我发现了这个


    在idea中删除libraries文件夹为我解决了这个问题。它位于项目的根/.idea/库中

    我正在使用Android Studio 3.1.4

    删除.gradle和.idea文件夹


    我的项目解决了这个问题。

    我的黑客修复程序-

  • 打开
    build.gradle
    文件
  • 删除
    依赖项{}
  • 粘贴在记事本中,可实现超级安全的临时保存
  • build.gradle
    文件中选择“立即同步”
  • 等待同步失败
  • 将依赖项粘贴回
  • 再次“立即同步”

  • 尝试了很多解决方案,这是我唯一的修复方法。

    我尝试了上面的大多数修复方法,实际有效的方法是删除所有的.AndroidStudio配置文件夹,然后重新启动Android Studio

    • 地点:
            <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />
      
      provided fileTree(include: ['xxx.jar'], dir: '../moduleX/libs')
      
         1. Close current project
         2. Go to your project path C://User/Android studio project/your project
         3. Delete two files .gradle and .idea
      
      1. Close Android studio
      2. Go to the file C://Users/your username/
      3. Delete files .gradle , .cache ,.android, .AndroidStudio3.5
      
      implementation "androidx.activity:activity-ktx:1.2.2"