Android Studio“无法解析符号字符串”

时间:2014-05-03 13:44:24

标签: android android-studio

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

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

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

f是什么?

我尝试过清理和重建,以及“使用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')
    }
}

7 个答案:

答案 0 :(得分:26)

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

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

对我来说,这成功地解决了这个问题(是由于电脑的惊人断电造成的)

enter image description here

答案 1 :(得分:3)

所以项目安排应如下:

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

包含'app'

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

buildscript {       存储库{           mavenCentral()       }       依赖{           classpath'com.android.tools.build:grad:0.9。+'       }   }

答案 2 :(得分:1)

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

答案 3 :(得分:0)

如果存在,则从报告错误的文件中删除以下行。

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

答案 4 :(得分:0)

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

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

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

答案 5 :(得分:0)

尝试删除[project] / [module] / build文件夹。 然后从菜单->构建->重建项目中重建项目 那对我有用。

答案 6 :(得分:0)

带有 Gradle 7.0.2 的 Android Studio 4.2.1。

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

事实证明问题与模块的 build.gradle 文件中的行有关:

apply plugin: 'java-library'

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

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

apply plugin: 'com.android.library'