8

Android Studio 无法编译我的测试项目,因为它无法解析资源。我为 gradle.build 中的 res 目录尝试了一些不同的设置,但没有任何效果。我在这里错过了一些简单的东西吗?这是一个简单的 HelloWorld 项目,其中没有任何个人内容。

我有以下项目结构,因为它是由 Android Studio 向导(最新版本 0.2.5)创建的:

在此处输入图像描述

在我的 AndroidManifest.xml 中有通常的应用名称参考:@string/app_name 这个字符串在 main/res/values/strings.xml 中定义(在上面的屏幕截图中选择)。

我从 IDE(Android Studio)得到的错误是:

android-apt-compiler: [MyApplicationProject] C:\...\MyApplication\src\main\AndroidManifest.xml:6: error: 
Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

当我运行“gradle tasks”时,我从命令行得到的错误是:

A problem occurred configuring root project 'MyApplicationProject'.
 > Failed to notify project evaluation listener.
    > Main Manifest missing from C:\...\MyApplicationProject\src\main\AndroidManifest.xml
4

5 回答 5

6

尝试在 defaultConfig 下添加以下内容(在 android {...} 内)

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
}
于 2013-11-21T17:37:38.727 回答
4

如果您在当前的 Android Studio 版本中遇到此问题,或在相同程度上遇到此问题(例如,我将图像添加到我的可绘制文件夹中,但它们未被识别),您的问题可能就是我遇到的问题。

如果您在复制正在处理的项目后遇到此问题,则可能未正确导入此新项目。

我犯了在 IDE 中复制和粘贴项目的错误,重命名它(编辑清单),然后尝试处理它。这将不起作用,因为新项目仍在访问原始的 res 文件夹。

复制项目时,为了不破坏您的原件,您应该:

  1. 转到您的 Android Studio 项目文件夹(在 IDE 中右键单击当前项目,然后选择“在资源管理器中显示”。
  2. 复制+粘贴此项目在同一目录中;根据新版本名称重命名文件夹。
  3. 在 IDE 中,转到 File > Import Project > ... 并找到新项目的目录。
  4. (继续在 IDE 中相应地重命名项目。在 AndroidManifest.xml 中更改包名称)

这样,IDE 会为其创建一个新项目,并访问正确的 res 文件夹(不是原始文件夹)。

尽管这可能不是许多阅读此问题的人的解决方案;在发现复制项目的正确方法之前,我多次遇到这个问题。

我希望这可以节省一些时间。

于 2014-10-13T04:25:55.123 回答
1

虽然这是一个非常古老的帖子,但@ThomasW 建议将其作为官方答案:这是版本 0.2.5 中的一个错误自从我使用较新版本的 Android Studio 以来,我再也没有这个问题了。

于 2014-01-21T10:00:55.333 回答
0

我为此苦苦挣扎了一段时间,并且总是在 AndroidStudio 中创建新的 maven 项目时遇到问题最终起作用的是以下内容(使用 Android Studio 1.0.1 测试)

  • 右键单击 POM 文件 -> Maven -> 删除项目(如果出现问题,请确保删除对项目的依赖项)
  • 再次右键 pom -> Maven -> 导入项目
于 2014-12-17T18:07:12.687 回答
0

对我有用的是为我的 Drawable 文件夹中没有提取的每个文件创建一个副本,然后删除旧文件。由于某种原因,它没有在我的可绘制文件中获取任何资源。尝试了我在 Google 上可以找到的所有其他内容。

于 2020-08-27T14:38:47.453 回答