Android Studio:Gradle:错误:找不到符号变量

use*_*638 55 android gradle android-gradle-plugin

我正在研究我的应用程序,一切正常,直到我尝试在java中显示图像.

我运行应用程序一次,它正常运行,图片显示.之后它要求我导入一些库并导入它们.之后我的活动出错了.

错误如:

Gradle: error: cannot find symbol variable activity_main
Gradle: error: cannot find symbol variable button1
Gradle: error: cannot find symbol variable button2
Gradle: error: cannot find symbol variable textView
Gradle: error: cannot find symbol variable secondActivity
Run Code Online (Sandbox Code Playgroud)

在MainActivity中,我导入了这些库:

import android.R;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
Run Code Online (Sandbox Code Playgroud)

在第二个活动中:

import android.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这一问题?

编辑:我删除了import android.R;,现在它正常工作.

BLa*_*uRE 70

你不应该导入android.R.这应该是自动生成和识别的. 如果在删除导入后出现一些错误,此问题包含许多有用的提示R.

删除导入后的一些基本步骤,如果出现这些错误:

  • 清理您的构建,然后重建
  • 确保XML文件中没有错误或拼写错误
  • 确保您的资源名称包含[a-z0-9.].由于某种原因,不允许大写字母或符号.
  • 执行Gradle同步(通过工具> Android>使用Gradle文件同步项目)

  • 我目前遇到过类似的问题.问题是在我的项目中我有更多的模块.例如`com.packagename.app`模块和`com.packagename.library`模块.虽然这两个类和`R.string`资源来自`com.packagename.app`模块,但我在类中有一些`import com.package.library.R`.不知怎的,Android Studio没有将此识别为错误,Gradle/Sync构建我的项目没有问题.但是当我尝试运行单元测试时,Gradle构建失败并显示错误.删除`import com.packagename.library.R`解决了我的问题. (2认同)

Tou*_*der 24

如果你使用多种口味

- 确保资源文件不仅仅在其中一种风格和主要文件中声明/添加.

示例:a_layout_file.xml包含符号变量的文件

SRC:

flavor1/res/layout /(没有文件)

flavor2/res/layout /a_layout_file.xml

main/res/layout /a_layout_file.xml

此设置将给出错误:找不到符号变量,这是因为资源文件只能在两种风格中仅在主体中.


Sea*_*rzi 18

如果您String在项目中使用构建配置字段,则可能是这种情况:

buildConfigField "String", "source", "play"
Run Code Online (Sandbox Code Playgroud)

如果像上面那样声明String,则会导致错误发生.修复方法是将其更改为:

buildConfigField "String", "source", "\"play\""
Run Code Online (Sandbox Code Playgroud)