【问题标题】:AAPT: error: resource not found, but it is present in styles.xmlAAPT:错误:找不到资源,但它存在于 styles.xml
【发布时间】:2018-10-17 17:07:44
【问题描述】:

完全错误是

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

但是<style name="AppTheme"> 存在于app\src\res\values\styles.xml

错误指向生成的文件

app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.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" >

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


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

那么如何使资源对构建可见,以及是什么使生成的清单看起来像它的样子?
更新
在修复了更多错误后,它出现了几个错误,例如:
:app:mergeDebugResources
[string/default_web_client_id] \app\src\main\res\values\strings.xml [string/default_web_client_id] \app\build\generated\res\google-services\debug\values\values.xml: Error: Duplicate resources

同样,资源在生成的文件中重复出现。
更新 2
在将这些注释掉后,它给出:

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

 Command: C:\gradle-4.6\bin\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\4627eedc0a8af356ec87f9d6cd62c57c\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
          -o \
          C:\_com_bucket\komirger-static_branch\app\build\intermediates\res\merged\debug \
          C:\_com_bucket\komirger-static_branch\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
  Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
  Output:  C:\gradle-4.6\bin\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\5e49e71c0795be6393bc5ece684619fc\res\values\values.xml:71:5-86:1291: AAPT: error: duplicate value for resource 'attr/navigationMode' with config ''.

  C:\gradle-4.6\bin\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\5e49e71c0795be6393bc5ece684619fc\res\values\values.xml:71:5-86:1291: AAPT: error: resource previously defined here.

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

【问题讨论】:

  • 资源应该在 `app\src\main\res` 下。你的 Java 文件在哪里?
  • @TheWanderer app/src/main/java
  • res文件夹移动到main下。
  • @TheWanderer 谢谢,又开始出现一堆错误(某些 xml 文件中的资源重复),我会修复它们并重试
  • @TheWanderer 更新了我的问题

标签: android android-studio android-gradle-plugin aapt


【解决方案1】:

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

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

那么它很可能会生成R,然后可能会找到样式。

【讨论】:

  • answered 10 mins ago - answered 7 mins ago 看起来重复的答案。
  • 不完全是重复的,同时解释了它发生的原因以及如何处理它。
  • 有点帮助,但又出现了一个错误,更新了我的问题
  • 我会接受这个答案,因为它建议从 strings.xml 中完全删除对我有用的密钥。
【解决方案2】:

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

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

希望这会有所帮助!

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

【讨论】:

  • 请检查问题更新 - 是否符合您描述的情况?
  • 在 upd1 和 upd2 之后,我注意到与我在遇到的问题中看到的模式相同的模式,它们都来自 .gradle 文件
【解决方案3】:

values.xml:错误:资源重复

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

身份证号:string/default_web_client_id

\app\src\main\res\values\strings.xml [string/default_web_client_id] \app\build\generated\res\google-services\debug\values\values.xml: 错误:资源重复

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

【讨论】:

  • 删除了重复项,出现了另一个错误,更新了我的问题
猜你喜欢
  • 1970-01-01
  • 2012-12-02
  • 2019-01-29
  • 2019-12-26
  • 2019-05-01
  • 2020-07-02
  • 1970-01-01
  • 2020-06-21
  • 2019-07-14
相关资源
最近更新 更多