首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AAPT:错误:未找到资源,但它存在于styles.xml中

AAPT:错误:未找到资源,但它存在于styles.xml中
EN

Stack Overflow用户
提问于 2018-10-17 17:07:44
回答 3查看 10.4K关注 0票数 4

全错误为

代码语言:javascript
运行
复制
AAPT: error: resource style/AppTheme (aka com.mukmenev.android.findjob:style/AppTheme) not found.

然而,<style name="AppTheme">存在于app\src\res\values\styles.xml

错误指向生成的文件。

代码语言:javascript
运行
复制
app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml

它的声明在主清单中没有,比如

代码语言:javascript
运行
复制
<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

在修复了一些更多的错误之后,它产生了以下几个错误:

代码语言:javascript
运行
复制
: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

因此,在生成的文件中再次复制资源。

upd 2

在评论了这些之后,它给出了:

代码语言:javascript
运行
复制
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.

代码语言:javascript
运行
复制
 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中的缓存无效,但没有效果。有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-17 21:05:22

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

让插件添加字符串资源。

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

票数 2
EN

Stack Overflow用户

发布于 2018-10-17 17:33:19

本周,在将Android升级到最新版本后,我也遇到了同样的问题,唯一的不同之处在于,aapt2用我所有的资源制造了问题,从colors.xml开始,当我粘贴了来自不同项目的内容时,问题转移到了绘图等方面。不过,它似乎只发生在新的项目中,所以我确信它与先前编写的代码无关。你应该试着看看你是否能建立新的项目,也许问题对你来说是一样的。

我尝试了很多方法来解决这个问题,但是唯一能帮我解决问题的方法就是重新安装Android。除了我的项目之外,我确保删除与应用程序相关的所有内容,并从头开始重新安装。从那以后,这个项目就完好无损地建成了。

希望这能有所帮助!

PS。确保在所有驱动器下检查,以避免出现任何错误,就像我的例子一样,Android安装在E://中,而像.gradle这样的安卓数据在C://下被“隐藏”,这让我可以选择使用以前的设置重新安装几次,导致没有改变。

票数 1
EN

Stack Overflow用户

发布于 2018-10-17 21:02:01

values.xml:错误:重复资源

strings.xml中仍然有重复的资源。删除重复的一个,它将运行良好之后。

Id-名称: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文件夹并尝试重新构建项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52860204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档