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 Studio版本中遇到此问题,或者在相同程度上遇到此问题(例如,我将图像添加到我的drawable文件夹中,并且它们无法识别),您的问题可能就是我遇到的问题。
如果在复制正在处理的项目后遇到此问题,则可能无法正确导入此新项目。
我犯了错误,在IDE中复制和粘贴项目,重命名它(编辑清单),然后尝试处理它。这不起作用,因为新项目仍在访问原始的res文件夹。
复制项目时,为了不破坏您的原创,您应该:
这样IDE就为它创建了一个新项目,并且它访问了正确的res文件夹(不是原始文件夹)。
虽然这可能不是许多人阅读这个问题的解决方案;在发现复制项目的正确方法之前,我多次遇到过这个问题。
我希望这可以节省一些时间。
尝试在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']
}
}
虽然这是一篇非常古老的帖子,但@ThomasW建议将其作为官方答案:这是版本0.2.5中的错误。自从我使用较新版本的Android Studio以来,我不再有这个问题了。
我在这方面挣扎了一段时间,并且总是在AndroidStudio中创建新的maven项目时出现问题最终有效的是以下内容(使用Android Studio 1.0.1测试)