Android Studio Android 资源链接失败错误.. AAPT:错误:找不到资源 android:attr/lStar。在 values.xml 105
Posted
技术标签:
【中文标题】Android Studio Android 资源链接失败错误.. AAPT:错误:找不到资源 android:attr/lStar。在 values.xml 105【英文标题】:Android Studio Android resource linking failed error .. AAPT: error: resource android:attr/lStar not found. at values.xml 105 【发布时间】:2022-01-11 15:26:56 【问题描述】:起初我能够毫无问题地运行所有内容,但突然,每次我尝试构建时都会出现此错误,具体指向此 xml 文件:C:\Users\Lenovo.gradle\caches\transforms-2\ files-2.1\f243f87f287fb4f4052bd069a9b71980\core-1.7.0\res\values\values.xml:105:5 .. 说 AAPT: error: resource android:attr/lStar not found 我什至尝试创建一个新的空项目,但每次尝试运行时仍然会出现问题..那么在这个 XML 文件中创建的问题是什么?
这是我的代码文件:
values.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr format="reference" name="nestedScrollViewStyle"/>
<color name="androidx_core_ripple_material_light">#1f000000</color>
<color name="androidx_core_secondary_text_default_material_light">#8a000000</color>
<color name="notification_action_color_filter">#ffffffff</color>
<color name="notification_icon_bg_color">#ff9e9e9e</color>
<dimen name="compat_button_inset_horizontal_material">4dp</dimen>
<dimen name="compat_button_inset_vertical_material">6dp</dimen>
<dimen name="compat_button_padding_horizontal_material">8dp</dimen>
<dimen name="compat_button_padding_vertical_material">4dp</dimen>
<dimen name="compat_control_corner_material">2dp</dimen>
<dimen name="compat_notification_large_icon_max_height">320dp</dimen>
<dimen name="compat_notification_large_icon_max_width">320dp</dimen>
<dimen name="notification_action_icon_size">32dp</dimen>
<dimen name="notification_action_text_size">13sp</dimen>
<dimen name="notification_big_circle_margin">12dp</dimen>
<dimen name="notification_content_margin_start">8dp</dimen>
<dimen name="notification_large_icon_height">64dp</dimen>
<dimen name="notification_large_icon_width">64dp</dimen>
<dimen name="notification_main_column_padding_top">10dp</dimen>
<dimen name="notification_media_narrow_margin">@dimen/notification_content_margin_start</dimen>
<dimen name="notification_right_icon_size">16dp</dimen>
<dimen name="notification_right_side_padding_top">2dp</dimen>
<dimen name="notification_small_icon_background_padding">3dp</dimen>
<dimen name="notification_small_icon_size_as_large">24dp</dimen>
<dimen name="notification_subtext_size">13sp</dimen>
<dimen name="notification_top_pad">10dp</dimen>
<dimen name="notification_top_pad_large_text">5dp</dimen>
<drawable name="notification_template_icon_bg">#3333B5E5</drawable>
<drawable name="notification_template_icon_low_bg">#0cffffff</drawable>
<item name="accessibility_action_clickable_span" type="id"/>
<item name="accessibility_custom_action_0" type="id"/>
<item name="accessibility_custom_action_1" type="id"/>
<item name="accessibility_custom_action_10" type="id"/>
<item name="accessibility_custom_action_11" type="id"/>
<item name="accessibility_custom_action_12" type="id"/>
<item name="accessibility_custom_action_13" type="id"/>
<item name="accessibility_custom_action_14" type="id"/>
<item name="accessibility_custom_action_15" type="id"/>
<item name="accessibility_custom_action_16" type="id"/>
<item name="accessibility_custom_action_17" type="id"/>
<item name="accessibility_custom_action_18" type="id"/>
<item name="accessibility_custom_action_19" type="id"/>
<item name="accessibility_custom_action_2" type="id"/>
<item name="accessibility_custom_action_20" type="id"/>
<item name="accessibility_custom_action_21" type="id"/>
<item name="accessibility_custom_action_22" type="id"/>
<item name="accessibility_custom_action_23" type="id"/>
<item name="accessibility_custom_action_24" type="id"/>
<item name="accessibility_custom_action_25" type="id"/>
<item name="accessibility_custom_action_26" type="id"/>
<item name="accessibility_custom_action_27" type="id"/>
<item name="accessibility_custom_action_28" type="id"/>
<item name="accessibility_custom_action_29" type="id"/>
<item name="accessibility_custom_action_3" type="id"/>
<item name="accessibility_custom_action_30" type="id"/>
<item name="accessibility_custom_action_31" type="id"/>
<item name="accessibility_custom_action_4" type="id"/>
<item name="accessibility_custom_action_5" type="id"/>
<item name="accessibility_custom_action_6" type="id"/>
<item name="accessibility_custom_action_7" type="id"/>
<item name="accessibility_custom_action_8" type="id"/>
<item name="accessibility_custom_action_9" type="id"/>
<item name="line1" type="id"/>
<item name="line3" type="id"/>
<item name="tag_accessibility_actions" type="id"/>
<item name="tag_accessibility_clickable_spans" type="id"/>
<item name="tag_accessibility_heading" type="id"/>
<item name="tag_accessibility_pane_title" type="id"/>
<item name="tag_on_apply_window_listener" type="id"/>
<item name="tag_on_receive_content_listener" type="id"/>
<item name="tag_on_receive_content_mime_types" type="id"/>
<item name="tag_screen_reader_focusable" type="id"/>
<item name="tag_state_description" type="id"/>
<item name="tag_transition_group" type="id"/>
<item name="tag_unhandled_key_event_manager" type="id"/>
<item name="tag_unhandled_key_listeners" type="id"/>
<item name="tag_window_insets_animation_callback" type="id"/>
<item name="text" type="id"/>
<item name="text2" type="id"/>
<item name="title" type="id"/>
<integer name="status_bar_notification_info_maxnum">999</integer>
<string name="status_bar_notification_info_overflow">999+</string>
<style name="TextAppearance.Compat.Notification" parent="@android:style/TextAppearance.StatusBar.EventContent"/>
<style name="TextAppearance.Compat.Notification.Info">
<item name="android:textSize">12sp</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="TextAppearance.Compat.Notification.Line2" parent="TextAppearance.Compat.Notification.Info"/>
<style name="TextAppearance.Compat.Notification.Time">
<item name="android:textSize">12sp</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="TextAppearance.Compat.Notification.Title" parent="@android:style/TextAppearance.StatusBar.EventContent.Title"/>
<style name="Widget.Compat.NotificationActionContainer" parent=""/>
<style name="Widget.Compat.NotificationActionText" parent=""/>
<declare-styleable name="Capability">
<!-- Resource reference to the string array of query patterns for a custom capability. -->
<attr format="reference" name="queryPatterns"/>
<!-- Indicates whether a parameter in a capability template can only contain a matched
shortcut id and not an arbitrary string. -->
<attr format="boolean" name="shortcutMatchRequired"/>
</declare-styleable>
<declare-styleable name="ColorStateListItem">
<!-- Base color for this state. -->
<attr name="android:color"/>
<!-- Alpha multiplier applied to the base color. -->
<attr format="float" name="alpha"/>
<attr name="android:alpha"/>
<!-- Perceptual luminance applied to the base color. From 0 to 100. -->
<attr format="float" name="lStar"/>
<attr name="android:lStar"/>
</declare-styleable>
<declare-styleable name="FontFamily">
<!-- The authority of the Font Provider to be used for the request. -->
<attr format="string" name="fontProviderAuthority"/>
<!-- The package for the Font Provider to be used for the request. This is used to verify
the identity of the provider. -->
<attr format="string" name="fontProviderPackage"/>
<!-- The query to be sent over to the provider. Refer to your font provider's documentation
on the format of this string. -->
<attr format="string" name="fontProviderQuery"/>
<!-- The sets of hashes for the certificates the provider should be signed with. This is
used to verify the identity of the provider, and is only required if the provider is not
part of the system image. This value may point to one list or a list of lists, where each
individual list represents one collection of signature hashes. Refer to your font provider's
documentation for these values. -->
<attr format="reference" name="fontProviderCerts"/>
<!-- The strategy to be used when fetching font data from a font provider in XML layouts.
This attribute is ignored when the resource is loaded from code, as it is equivalent to the
choice of API between @link
androidx.core.content.res.ResourcesCompat#getFont(Context, int) (blocking) and
@link
androidx.core.content.res.ResourcesCompat#getFont(Context, int, FontCallback, Handler)
(async). -->
<attr name="fontProviderFetchStrategy">
<!-- The blocking font fetch works as follows.
First, check the local cache, then if the requested font is not cached, request the
font from the provider and wait until it is finished. You can change the length of
the timeout by modifying fontProviderFetchTimeout. If the timeout happens, the
default typeface will be used instead. -->
<enum name="blocking" value="0"/>
<!-- The async font fetch works as follows.
First, check the local cache, then if the requeted font is not cached, trigger a
request the font and continue with layout inflation. Once the font fetch succeeds, the
target text view will be refreshed with the downloaded font data. The
fontProviderFetchTimeout will be ignored if async loading is specified. -->
<enum name="async" value="1"/>
</attr>
<!-- The length of the timeout during fetching. -->
<attr format="integer" name="fontProviderFetchTimeout">
<!-- A special value for the timeout. In this case, the blocking font fetching will not
timeout and wait until a reply is received from the font provider. -->
<enum name="forever" value="-1"/>
</attr>
<!-- Provides the system font family name to check before downloading the font. For
example if the fontProviderQuery asked for "Sans Serif", it is possible to define
fontProviderSystemFontFamily as "sans-serif" to tell the system to use "sans-serif" font
family if it exists on the system. -->
<attr format="string" name="fontProviderSystemFontFamily"/>
</declare-styleable>
<declare-styleable name="FontFamilyFont">
<!-- The style of the given font file. This will be used when the font is being loaded into
the font stack and will override any style information in the font's header tables. If
unspecified, the value in the font's header tables will be used. -->
<attr name="fontStyle">
<enum name="normal" value="0"/>
<enum name="italic" value="1"/>
</attr>
<!-- The reference to the font file to be used. This should be a file in the res/font folder
and should therefore have an R reference value. E.g. @font/myfont -->
<attr format="reference" name="font"/>
<!-- The weight of the given font file. This will be used when the font is being loaded into
the font stack and will override any weight information in the font's header tables. Must
be a positive number, a multiple of 100, and between 100 and 900, inclusive. The most
common values are 400 for regular weight and 700 for bold weight. If unspecified, the value
in the font's header tables will be used. -->
<attr format="integer" name="fontWeight"/>
<!-- The variation settings to be applied to the font. The string should be in the following
format: "'tag1' value1, 'tag2' value2, ...". If the default variation settings should be
used, or the font used does not support variation settings, this attribute needs not be
specified. -->
<attr format="string" name="fontVariationSettings"/>
<!-- The index of the font in the tcc font file. If the font file referenced is not in the
tcc format, this attribute needs not be specified. -->
<attr format="integer" name="ttcIndex"/>
<!-- References to the framework attrs -->
<attr name="android:fontStyle"/>
<attr name="android:font"/>
<attr name="android:fontWeight"/>
<attr name="android:fontVariationSettings"/>
<attr name="android:ttcIndex"/>
</declare-styleable>
<declare-styleable name="GradientColor">
<!-- Start color of the gradient. -->
<attr name="android:startColor"/>
<!-- Optional center color. -->
<attr name="android:centerColor"/>
<!-- End color of the gradient. -->
<attr name="android:endColor"/>
<!-- Type of gradient. The default type is linear. -->
<attr name="android:type"/>
<!-- Only applied to RadialGradient-->
<!-- Radius of the gradient, used only with radial gradient. -->
<attr name="android:gradientRadius"/>
<!-- Only applied to SweepGradient / RadialGradient-->
<!-- X coordinate of the center of the gradient within the path. -->
<attr name="android:centerX"/>
<!-- Y coordinate of the center of the gradient within the path. -->
<attr name="android:centerY"/>
<!-- LinearGradient specific -->
<!-- X coordinate of the start point origin of the gradient.
Defined in same coordinates as the path itself -->
<attr name="android:startX"/>
<!-- Y coordinate of the start point of the gradient within the shape.
Defined in same coordinates as the path itself -->
<attr name="android:startY"/>
<!-- X coordinate of the end point origin of the gradient.
Defined in same coordinates as the path itself -->
<attr name="android:endX"/>
<!-- Y coordinate of the end point of the gradient within the shape.
Defined in same coordinates as the path itself -->
<attr name="android:endY"/>
<!-- Defines the tile mode of the gradient. SweepGradient doesn't support tiling. -->
<attr name="android:tileMode"/>
</declare-styleable>
<declare-styleable name="GradientColorItem">
<!-- The offset (or ratio) of this current color item inside the gradient.
The value is only meaningful when it is between 0 and 1. -->
<attr name="android:offset"/>
<!-- The current color for the offset inside the gradient. -->
<attr name="android:color"/>
</declare-styleable>
</resources>
我的构建 gradle 文件:
apply plugin: 'com.android.application'
android
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig
applicationId "com.example.testing"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
dependencies
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
【问题讨论】:
您是否尝试过:文件> 使缓存无效/重新启动?和/或清理项目? 我试了很多次,都没有解决问题 您在项目中使用此资源 (android:attr/lStar
) 吗?如果是,您能告诉我们您是如何使用它的吗?
不,我没有,我已经说过这甚至在我对我的项目进行任何修改之前就已经存在(它在创建我的项目时被初始化)..我尝试从xml 文件,它开始给我新的错误
我刚刚通过将 build.gradle 文件的内容从一个正在运行的旧项目复制到我的新项目中来解决了这个问题。仍然不知道问题的根源 ''' '' '
【参考方案1】:
我按照 Bashar Hamade 的做法复制粘贴了一个工作项目的 build.gradle 文件的内容。它实际上解决了这个问题。更仔细地看,这是我注意到的:
为 core 和 appcompat 设置实现依赖项 来自
...
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.0'
...
到
...
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
...
由于某种原因,仅更改其中一个并不能解决问题。我猜 core-ktx:1.6.0 和 appcompat:1.3.1 一起工作。你不能在不改变另一个的情况下乱搞一个。
顺便说一句,这个问题似乎来自最近的 Android Studio 升级。
【讨论】:
以上是关于Android Studio Android 资源链接失败错误.. AAPT:错误:找不到资源 android:attr/lStar。在 values.xml 105的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio Android 资源链接失败错误.. AAPT:错误:找不到资源 android:attr/lStar。在 values.xml 105
如何解决android studio中的错误:Android资源链接失败
我在构建应用程序时在 android studio 中遇到了 Android 资源链接失败错误。我不知道如何解决这个问题。我是 Android Studio 的新手 [关闭]