【问题标题】:Android Studio "cannot resolve symbol String"Android Studio“无法解析符号字符串”
【发布时间】:2014-06-20 03:31:36
【问题描述】:

我有一个在 Eclipse 中启动的小项目。然后我将它导出到一个 gradle 文件,并将其导入到 AS (0.5.7)。

起初,似乎没有多少工作,但在“build => make project”之后,我似乎没有得到任何突出显示的错误。

所以我尝试将应用程序运行到模拟设备。好吧,该设备从未启动,现在我在提到“String”、“ArrayList”等时看到红色波浪线,说它“无法解析符号”。

什么鬼?

我尝试过清理和重建,以及“将项目与 gradle 文件同步”。

我从这里去哪里?我很想在 AS 中进行开发!

编辑:项目设置截图:http://i.imgur.com/ycNyPaT.png

build.gradle 的内容:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

【问题讨论】:

  • 能否添加您的 Android Studio 项目设置和 build.gradle 内容的屏幕截图。
  • @JakubSzczygieł 完成!
  • 我建议创建新项目,然后相应地重新排列您的项目文件夹。然后从 gradle 中删除 sourceSets 部分并重新运行同步
  • 所以第 1 步)我创建了一个新项目。步骤 2) - 如何将我的文件放入此项目中,以便正确设置项目文件夹?我不知道它应该是什么样子。
  • 给我 40 分钟,我会到电脑前截取正确的项目设置。

标签: android android-studio


【解决方案1】:

带有 Gradle 7.0.2 的 Android Studio 4.2.1。

我项目中的一个模块出现了这个问题。基本上许多基本符号,如 String、@Override 都没有解决。非同步或删除缓存等对我有帮助。该项目构建没有问题,但成功构建后,问题仍然存在。

原来问题与模块的 build.gradle 文件中的行有关:

apply plugin: 'java-library'

我已经在那里很久了,而且我很长时间没有打开该模块,所以可能是因为一些较新版本的 Gradle 不被接受。

所以我的解决方案是将行更改为:

apply plugin: 'com.android.library'

【讨论】:

    【解决方案2】:

    尝试删除 [project]/[module]/build 文件夹。 然后从 menu->build->rebuild project 重建项目 这对我有用。

    【讨论】:

      【解决方案3】:

      您只需要同步项目,因为您已经从 android studio 中的 zip 文件打开了一个外部项目。 同步项目后,您将看到 Java、res 文件夹等文件夹,而不是这些无用的文件夹。而且,所有的错误也会消失。

      当您打开外部项目时,它会显示如下。 https://photos.app.goo.gl/BFa113X9DWH8eNDt7

      然后你点击安装,它会安装项目所需的组件,然后它会同步项目。同步后,Gradle 将被构建并且您的项目已准备好运行。

      【讨论】:

      • 如何“同步项目”?
      【解决方案4】:

      只是为像我这样的人写这篇文章,他们也是通过谷歌搜索这个错误来到这里的。 当前Android Studio 3.1.+ 实际解决的问题是this

      【讨论】:

        【解决方案5】:

        从报告错误的文件中删除以下行(如果有)。

        import static com.google.android.gms.internal.a.R;
        

        【讨论】:

          【解决方案6】:

          有更简单,我认为更正确的方法:

          只需选择菜单项“文件/使缓存无效/重新启动...”

          对我来说,这成功解决了问题(是由于 PC 意外断电引起的)

          【讨论】:

          • 使用“使缓存无效/重新启动...”后出现新错误。
          • “使缓存无效/重新启动...”对我不起作用。我最终得到以下错误:“Gradle 'buildingproject' 项目刷新失败。无法打开 zip 文件。错误:Gradle 的依赖项缓存可能已损坏(这有时会在网络连接超时后发生。)重新下载依赖项并同步项目(需要网络)”。使用“使缓存无效/重新启动...”的潜在副作用是什么?
          • 哇,它就像一个魅力!由于windows蓝屏,我也有这个问题!
          【解决方案7】:

          所以项目安排应该如下:

          • 在您的项目中创建应用文件夹。
          • 在 app 文件夹中创建以下文件夹:libs 和 src
          • 在 src 中创建主文件夹
          • 在 main 创建 java 和 assets
          • 将旧 src 的内容移动到 java
          • 将旧库的内容移动到库中
          • 将 res 文件夹移动到 src
          • 将 AndroidManifest.xml 移至 src
          • 将 assets 文件夹移动到 src 中
          • 在 app 文件夹内创建 build.gradle,内容如下:
          apply plugin: 'android'
          dependencies {
          compile fileTree(dir: 'libs', include: '*.jar')
          }
          android {
          compileSdkVersion 19
          buildToolsVersion "19.0.1"
          }
          
          • 在项目根目录中创建 settings.gradle,内容如下:

          包括“应用”

          • root 中的 build.gradle 应具有以下结构:

          构建脚本 { 存储库{ mavenCentral() } 依赖{ 类路径'com.android.tools.build:gradle:0.9.+' } }

          【讨论】:

          • 感谢您迄今为止的帮助。我现在得到“项目刷新失败。错误:原因:块数据意外结束”i.imgur.com/5z1KdEs.png
          • Res, assets 和 AndroidManifest.xml 应该在主文件夹下
          • 好的,我把它们移回来了。仍然出现同样的错误。
          • 您安装了哪些 android 构建工具。您可以在 sdk manager 下查看。项目设置为用户19.0.1,您可以下载最新的(19.0.3)并相应更改build.gradle文件。
          • 我似乎几乎安装了每个版本。 i.imgur.com/buFk6eQ.png所以我换成了19.0.3,还是一样的错误。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-03
          • 1970-01-01
          • 2013-11-15
          • 2015-12-17
          • 2015-08-22
          • 2017-04-20
          相关资源
          最近更新 更多