错误:找不到资源颜色/ com_facebook_messenger_blue

时间:2018-06-16 14:52:16

标签: android android-layout android-studio android-gradle

当我构建我的应用程序时(我同时尝试了清理构建并重建它们)它显示AAPT2错误,所以我从左侧的gradle选项卡运行assembleDebug,显示了以下错误

AGPBI: {"kind":"error","text":"error: resource color/com_facebook_messenger_blue (aka com.example.itachi.com.pbr:color/com_facebook_messenger_blue) not found.","sources":[{"file":"C:\\Users\\ITACHI\\Downloads\\Scrof\\PBR\\app\\src\\main\\res\\values\\styles.xml"}],"original":"","tool":"AAPT"}

所以在错误中建议的路径我检查了values文件夹中的styles.xml文件,如下所示

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/com_facebook_messenger_blue</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>


<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
<style name="DrawerHamburgerStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/black</item>
</style>


<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

谁能告诉我哪里做错了?

2 个答案:

答案 0 :(得分:1)

在您的代码中,您似乎从colors.xml文件中调用了以'com_facebook_messenger_blue'命名的颜色。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/com_facebook_messenger_blue</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

并且错误指的是,colors.xml文件中没有以'com_facebook_messenger_blue'命名的颜色。

所以,

转到res&gt; values和open colors.xml文件。然后在中添加这行代码 <resource>...</resource>代码。

<color name="com_facebook_messenger_blue">#your desired color code</color>

记得把颜色代码。

答案 1 :(得分:1)

正如您在评论中所说,您要包含一个应该是jar或aar文件的依赖项。它的构建依赖于Facebook SDK我猜,因为缺少资源的名称。

当您构建aar文件时,它不包含所需的依赖项,但您必须在build.gradle文件中提供它们。

要使其工作,您要么在项目中声明缺少的依赖项,要么就像我在这种情况下建议您只需在colors.xml文件中添加缺少的资源。

<color name="com_facebook_messenger_blue">#0084ff</color>

这样,当您的项目进行编译时,它可以为您的归档库提供缺少的资源。我希望现在已经足够清楚了。