ERROR:: AAPT: error: resource style/Widget.AppCompat.TextView not found. 原因及解决

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述ERROR:: AAPT: error: resource style/Widget.AppCompat.TextView not found. 原因及解决相关的知识,希望能为你提供帮助。


把android项目从support-v4升级到androidx之后,出现错误
ERROR:: AAPT: error: resource style/Widget.AppCompat.TextView (aka com.example:style/Widget.AppCompat.TextView) not found.
 
一头雾水,在网上搜索,有人说是子项目和主项目版本不匹配,使用如下方式统一,统一之后,发现还是不行。
 

 
除此也搜索不到什么有用的东西,根据经验,找不到答案,要么是问题太偏,要么是问题太简单。
我想多是后者吧,问不出所以然,那就只能自力更生。
既然没有,要不自己定义一下,使用\\Android_Sdk\\platforms\\android-28\\data\\res\\values\\styles.xml中style做基类。
 

< style name="Widget.AppCompat" parent="@android:style/Widget"/>
< style name="Widget.AppCompat.TextView" parent="@android:style/Widget.TextView"/>

不过添加之后又有其他错误,类似
AGPBI: "kind":"error","text":"Android resource linking failed","sources":["file":"C:\\\\Users\\\\lgs\\\\.gradle\\\\caches\\\\transforms-3\\\\fdf8d8302d80daaa032d669a233a0150\\\\transformed\\\\material-1.4.0\\\\res\\\\layout\\\\mtrl_alert_select_dialog_multichoice.xml","position":"startLine":44],"original":"ERROR:C:\\\\Users\\\\lgs\\\\.gradle\\\\caches\\\\transforms-3\\\\fdf8d8302d80daaa032d669a233a0150\\\\transformed\\\\material-1.4.0\\\\res\\\\layout\\\\mtrl_alert_select_dialog_multichoice.xml:45: AAPT: error: attribute drawableLeftCompat (aka com.example:drawableLeftCompat) not found.\\n     ","tool":"AAPT"
 
< CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@android:id/text1"
。。。
app:drawableLeftCompat="?android:attr/listChoiceIndicatorMultiple" //资源找不到
app:drawableStartCompat="?android:attr/listChoiceIndicatorMultiple"
android:drawablePadding="20dp"
android:ellipsize="marquee" />

发现许多相关资源也找不到。
Widget.AppCompat.TextView到底在哪里?
在新Androidx项目中Widget.AppCompat.TextView明明在\\appcompat-1.3.1\\res\\values\\values.xml被定义,为何找不到呢?
 
< style name="TextView1"parent="Widget.AppCompat.TextView"/>

【ERROR:: AAPT: error: resource style/Widget.AppCompat.TextView not found. 原因及解决】在当前项目中Widget.AppCompat.TextView不但找不到,连Widget.AppCompat都找不到,
而传统项目中使用的基类是android.widget.TextView,问题真的可能发生在appcompat的引用上。
仔细查看项目,真的有子模块使用了support-v4:28.0.0。大致可以猜测android-28和appcompat冲突了。
原来是所有子模块的support-v4:28.0.0都要替换为appcompat:1.3.1


  其他兼容问题做下简单的处理就可以了。
关于:
??编者:李国帅??
?
??时间:2021-11-6    ??

    推荐阅读