AndroidStudio将语法标记为错误,但gradle编译

AndroidStudio将语法标记为错误,但gradle编译,android,gradle,android-studio,Android,Gradle,Android Studio,我在安卓工作室有一个用Gradle编译的项目。 一般的文件结构是 MyProject - MyProjectSource - Libraries - ActionBarSherlock 我的项目是用Gradle构建的,将毫无问题地编译。然而,在我的活动中包含ActionBarSherlock组件的行中,Android Studio将其标记为错误 我注意到Android Studio也生成了.iml文件。所以我的问题是:Android Studio在评估语法是否有效时是否会忽略

我在安卓工作室有一个用Gradle编译的项目。 一般的文件结构是

MyProject
  - MyProjectSource
  - Libraries
     - ActionBarSherlock
我的项目是用Gradle构建的,将毫无问题地编译。然而,在我的活动中包含ActionBarSherlock组件的行中,Android Studio将其标记为错误

我注意到Android Studio也生成了.iml文件。所以我的问题是:Android Studio在评估语法是否有效时是否会忽略gradle构建

显然,这不是一个项目阻塞问题,但由于无法利用Android Studio提供的全套工具,速度确实很慢


提前感谢您的帮助。

更新:@laochiv,我发现手动清理文件夹.idea/libraries,然后单击“将项目与Gradle文件同步”可以解决问题。显然,这种同步不会删除元素,而是保留旧元素并添加当前元素。可能是要报告的错误:)



我也有同样的问题。然而,我直接从Maven使用ABS

dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:18.0.+'
}
即使在编译时,也会标记语法错误


然而,在另一台计算机中,一切都工作正常。我想不出每个场景中的不同情况。

我不知道如何使用
MavenCentral
添加库。我按照以下步骤包括一个库

  • App\u Name/App\u Name/libs
    文件夹中添加库
  • App\u Name/build.gradle
    中添加此
  • 依赖关系{

    编撰---

    编译文件('libs/fileName.jar')}

  • /gradlew
    清洁
  • 确保您的Android studio已更新
  • “Android Studio在评估语法是否有效时是否会忽略gradle构建?”是的。AndroidStudio导入项目配置,但在编辑和保存时运行自己的编译器(您甚至可以将其更改为EclipseECJ编译器)。该构建的真正权威是Gradle,目前仍处于测试阶段。您可以尝试运行gradle重新同步或关闭并重新导入项目。我已经多次这样操作了,尤其是在编辑build.gradle之后

    编辑:我发现最好将ActionBarSherlock用作gradle依赖项,而不是库目录

    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    
    您需要使用SDK管理器并安装本地maven存储库

    但是,只要build.gradle不创建as不理解的任何额外源集,就有可能最终消除这些编译错误;尽量不要偏离android gradle插件示例太多


    另外,我一直在运行AS的金丝雀更新以获得最新和最棒的版本。

    这些实际上不是错误,这是Android studio(0.4.2)中的一个错误,用于解析符号,并在下一版本(0.4.3)中修复

    要在发布之前消除这些问题,请执行以下操作

  • 使用
    Build>cleanproject
  • 关闭你的Android Studio
  • 备份您的项目
  • 删除项目中的所有.iml文件
  • 删除.idea目录的内容
  • 打开Studio并等待它完成与gradle的同步
  • 还要验证在
    文件>项目结构中是否看到任何错误。如果出现任何错误,说“未添加依赖项”,请单击该错误,并使用右侧的红色灯泡将其添加到依赖项中

    更新


    安卓Studio 0.4.3现在可以在金丝雀频道上使用。

    我在安卓Studio 4.2中遇到了这个问题,它可能会在4.3上修复

    我注意到添加一些依赖项并没有将classes.jar附加到依赖项,因此Gradle可以识别所有内容,但IDE不能识别。要解决此问题,请执行以下操作:

    • 打开项目的模块设置
    • 选择出现错误的依赖项
    • 单击该依赖项的添加(+)(弹出窗口底部)
    • 导航到您的项目/build/exploded bundles/your dependency/classes.jar
    • IDE现在应该可以识别这些文件了

    希望能有所帮助

    我今天遇到了这个问题,但gradle update/sync没有解决。但更新到最新版本的Android Studio 2.2更新5已修复(在2.1上)

    浏览链接,它对我起了作用

    1.)从android studio左上方的菜单中选择文件选项。 2.)选择选项:“使缓存无效/重新启动…”它将打开一个对话框。 3.)单击第一个按钮,选择“失效并重新启动” 4.)它将关闭studio并重新启动。开始为项目编制索引。 它解决了我的问题

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

    来源

    这里我要说的是android studio版本v3.1.2也出现了同样的问题。在后来的android studio版本(3.0.1以上)中,这个问题再次出现。所以,我通过几件事解决了这个问题,下面是如何解决的

  • 先关闭android studio

  • 导航到您的项目文件夹

  • 删除.gradle.idea文件夹(.gradle和.idea是隐藏文件。因此,请确保在文件资源管理器选项中勾选显示隐藏文件,以查看这些文件

  • 现在在android studio中打开您的项目

    这一次会出现另一个问题(不支持的模块),但别担心。我明白了

  • 转到android studio中的文件,点击与Gradle文件同步的项目

  • 塔达..!您现在完成了!

    最简单的解决方案
    • 注释/删除显示语法错误和同步项目的依赖项
    • 取消注释/再次添加&同步项目
    是啊!错误消失了

    之前

    之后

    我也有同样的问题。但是,我直接从Maven使用ABS。即使是[ABS Gradle示例应用程序也会标记语法错误,