如何解决Android resource linking failed错误:srcCompat与@tools:sample/avatars不兼容
解决Android资源链接错误:
@tools:sample/avatars与srcCompat不兼容 问题原因
@tools:sample/avatars是Android Studio提供的静态位图示例资源,而app:srcCompat是AppCompat库的属性,专门用于支持矢量图(VectorDrawable)及向下兼容的Drawable资源,二者类型不匹配,因此触发Android resource linking failed错误。
解决方案
方法1:替换为原生android:src属性
直接将app:srcCompat改成android:src,适配静态位图示例资源:
<ImageView android:id="@+id/memeView" android:layout_width="0dp" android:layout_height="0dp" android:background="#000000" app:layout_constraintBottom_toTopOf="@id/shareButton" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" android:src="@tools:sample/avatars" />
方法2:使用兼容的矢量示例资源(若需保留srcCompat)
如果需要继续使用app:srcCompat(比如后续计划接入矢量图),可以换成Android Studio提供的矢量示例资源,比如@tools:sample/vector/art:
<ImageView android:id="@+id/memeView" android:layout_width="0dp" android:layout_height="0dp" android:background="#000000" app:layout_constraintBottom_toTopOf="@id/shareButton" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@tools:sample/vector/art" />
补充说明
- 开发阶段用示例占位图时,
android:src完全满足需求; - 若要使用自定义矢量图,确保资源放在
drawable目录下,并通过app:srcCompat引用以实现向下兼容。
内容的提问来源于stack exchange,提问作者Ritik Notiyal
相关产品推荐
相关产品推荐

