AAPT:错误:找不到资源,但它存在于样式.xml中



完整错误为

AAPT: error: resource style/AppTheme (aka com.mukmenev.android.findjob:style/AppTheme) not found.

然而,<style name="AppTheme">存在于appsrcresvaluesstyles.xml

错误指向生成的文件

appbuildintermediatesmerged_manifestsdebugprocessDebugManifestmergedAndroidManifest.xml

其中包含我在主清单中没有的声明,例如

<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="23" />
<application
android:name="com.mukmenev.android.findjob.App"
android:allowBackup="true"
android:debuggable="true"
android:hardwareAccelerated="false"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme" >

所以另一个问题是它如何可能以及如何摆脱它们?


我刚刚花了大约一周的时间尝试启动这个项目(由以前的开发人员给我,他拒绝解释任何事情(并消除诸如指向不存在的资源的链接之类的错误,但这些错误是存在的并且肉眼可见。

那么,如何使资源对生成可见,以及是什么使生成的清单看起来像它的样子?
upd
在修复了更多错误后,它出现了几个错误,例如:
:app:mergeDebugResources
[string/default_web_client_id] appsrcmainresvaluesstrings.xml [string/default_web_client_id] appbuildgeneratedresgoogle-servicesdebugvaluesvalues.xml: Error: Duplicate resources

因此,资源再次在生成的文件中重复。
upd 2
注释掉这些后,它给出:

Execution failed for task ':app:mergeDebugResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
Output:  appbuildintermediatesincrementalmergeDebugResourcesmerged.dirvaluesvalues.xml:2100: error: duplicate value for resource 'attr/navigationMode' with config ''.
appbuildintermediatesincrementalmergeDebugResourcesmerged.dirvaluesvalues.xml:2100: error: resource previously defined here.

Command: C:gradle-4.6bincachestransforms-1files-1.1aapt2-3.2.0-4818971-windows.jar4627eedc0a8af356ec87f9d6cd62c57caapt2-3.2.0-4818971-windowsaapt2.exe compile --legacy 
-o 
C:_com_bucketkomirger-static_branchappbuildintermediatesresmergeddebug 
C:_com_bucketkomirger-static_branchappbuildintermediatesincrementalmergeDebugResourcesmerged.dirvaluesvalues.xml
Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
Output:  C:gradle-4.6bincachestransforms-1files-1.1appcompat-v7-26.1.0.aar5e49e71c0795be6393bc5ece684619fcresvaluesvalues.xml:71:5-86:1291: AAPT: error: duplicate value for resource 'attr/navigationMode' with config ''.
C:gradle-4.6bincachestransforms-1files-1.1appcompat-v7-26.1.0.aar5e49e71c0795be6393bc5ece684619fcresvaluesvalues.xml:71:5-86:1291: AAPT: error: resource previously defined here.

我尝试在Android Studio中使缓存失效,但没有效果。有什么想法吗?

您需要从res/values/strings.xml中删除default_web_client_id

并让 Goggle 服务插件添加该字符串资源。

然后它很可能会产生R并且可能会找到样式。

本周我将 Android Studio 更新到最新版本后遇到了同样的问题,唯一的区别是 aapt2 给我的所有资源带来了问题,从颜色开始.xml当我粘贴来自不同项目的内容时,问题转移到可绘制对象等。不过,它似乎只发生在新项目中,所以我确信它与以前编写的代码无关。你应该尝试看看你是否可以构建新项目,也许问题对你来说是一样的。

我尝试了很多方法来解决这个问题,但似乎唯一能为我解决问题的是完全重新安装Android Studio。我确保删除除我的项目之外与应用程序相关的所有内容,然后从头开始重新安装。之后,该项目顺利构建。

希望这有帮助!

确保检查所有驱动器下以避免任何失误,因为在我的情况下,Android Studio 安装在 E://中,而 .gradle 等 android 数据被"隐藏"在 C://下,这使我可以选择重新安装以前的设置几次导致没有变化。

值.xml:错误:重复资源

strings.xml中仍有重复的资源。删除重复的,之后它将正常工作。

身份证名:string/default_web_client_id

appsrcmainresvaluesstrings.xml[string/default_web_client_id]appbuildgeneratedresgoogle-servicesdebugvaluesvalues.xml错误:重复资源

如果路径正确并且所有内容都在正确的位置,请删除build文件夹并尝试重建项目。

相关内容

  • 没有找到相关文章

最新更新