Android Studio无法找到我的资源

问题描述 投票:6回答:4

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
android gradle android-gradle
4个回答
4
投票

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

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

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

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

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

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

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

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


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']
    }
}

1
投票

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


0
投票

我在这方面挣扎了一段时间,并且总是在AndroidStudio中创建新的maven项目时出现问题最终有效的是以下内容(使用Android Studio 1.0.1测试)

  • 右键单击POM文件 - > Maven - >删除项目(如果它抱怨,请确保删除项目的依赖项)
  • 再次右键单击pom - > Maven - > Import project
© www.soinside.com 2019 - 2024. All rights reserved.