Can't determine type for tag

Android  2023年9月7日 pm6:42发布1年前 (2023)更新 91es.com站长
70 0 0

前言

引入公共库库(commonLib)时,出现如下异常,说实话,看不懂哈,就问谷歌了。

Can't determine type for tag '<macro name="m3_comp_assist_chip_container_shape">?attr/shapeAppearanceCornerSmall</macro>'

正文

简单记录一下,方便自己查阅。

第一种

原因

因为commonLib/build.gradle中的appcompat版本比我应用版本高。

implementation 'androidx.appcompat:appcompat:1.6.1'

应用

implementation 'androidx.appcompat:appcompat:1.3.1'
解决方法

改成统一的就行,公共库也是我自己维护,这里就改低版本。验证OK

implementation 'androidx.appcompat:appcompat:1.3.1'

第二种

这次是用Android Studio创建新模块出现问题。

下面是用的版本

Android Studio Giraffe | 2022.3.1
Build #AI-223.8836.35.2231.10406996, built on June 29, 2023
Runtime version: 17.0.6+0-b2043.56-10027231 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 7 6.1
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 4
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false

新创建模块后也是提示

Can't determine type for tag '<macro name="m3_comp_assist_chip_container_shape">?attr/shapeAppearanceCornerSmall</macro>'

其实两个问题的本质都是一样,模块/build.gradle中配置的版本太高了。

下面都是AS默认创建的

implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

下面是我这边改的

第一步

版本降低

implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.appcompat:appcompat:1.3.0'

但material这个涉及主题样式,相关的也需要改一下。

第二步

修改目录: values/themes.xml

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.BiuMall" parent="Theme.Material3.DayNight.NoActionBar">
        <!-- Customize your light theme here. -->
        <!-- <item name="colorPrimary">@color/my_light_primary</item> -->
    </style>

    <style name="Theme.BiuMall" parent="Base.Theme.BiuMall" />
</resources>

Material3是高版本的,我们配置的不支持这个,因此该为MaterialComponents

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.BiuMall" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Customize your light theme here. -->
        <!-- <item name="colorPrimary">@color/my_light_primary</item> -->
    </style>

    <style name="Theme.BiuMall" parent="Base.Theme.BiuMall" />
</resources>
第三步

同样,夜模式主题也得修改。

修改目录: values-night/themes.xml

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.BiuMall" parent="Theme.Material3.DayNight.NoActionBar">
        <!-- Customize your dark theme here. -->
        <!-- <item name="colorPrimary">@color/my_dark_primary</item> -->
    </style>
</resources>

修改后

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.BiuMall" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Customize your dark theme here. -->
        <!-- <item name="colorPrimary">@color/my_dark_primary</item> -->
    </style>
</resources>

参考文章

  1. 【Android studio错误处理】Can‘t determine type for tag ‘<macro name=“m3_comp_assist_chip_container_shape“>

 历史上的今天

  1. 2022: 系统应用MediaButton的使用方式(0条评论)
  2. 2021: DisplayMetrics获取宽高不对(0条评论)
  3. 2019: 贾平凹:制造声音(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

郑振铎:月夜之话

是在山中的第三夜了。月色是皎洁无比,看着她渐渐地由东方升了起来。蝉声唧——唧——唧——地曼长地叫着,岭下涧水潺潺的流声,隐略地可以听见,此外,便什么声音都没有了。月如银的圆盘般大,静定地挂在晚天中,星没有几颗,疏朗朗的间缀于蓝天中,如美人身上披着蓝天鹅绒的晚衣,缀了几颗不规则的宝石。大家都把自己的...

NDK之使用第三方so库

接上一篇,上一篇主要是讲NDK简单入门,这一篇讲如何调用第三方so库。至于为啥要使用NDK,我这里也简单总结一下NDK的优缺点:优点:1、运行效率高2、重复利用代码。有很使用C或C++写好的开源库3、代码保护。Java开发的代码容易被反编译,而C/C++的反编译比较难4、便于移...

严歌苓:读书是生命的另一种存在

一、我关于阅读与写作的记忆我出生在一个书香家庭,父亲虽是作家,但他很少用自己的文学理念影响我。在我的生活学习中,父亲就是一个很客观的教师,是我一生中最好的文学伴侣,最好的交流文学的朋友。父亲常与我沟通他最近读的好书,也会建议我去读。每天早上不管多忙,我都要拿出一小时与父亲喝咖啡,然后谈一谈我最近...

[代码片段]通过pinyin4j实现汉字转拼音

前言代码功能:主要是汉字转拼音,支持全拼音转换以及去除空格正文言归正传,直接上附上代码隐藏内容!付费阅读后才能查看!¥2 ¥3多个隐藏块只需支付一次付费阅读参考文章《Java通过pinyin4j实现汉字转拼音》《探索PinYin4j.jar将汉字转换为拼音的基本用法》《中文汉字和...

海子:面朝大海,春暖花开

从明天起,做一个幸福的人喂马,劈柴,周游世界从明天起,关心粮食和蔬菜我有一所房子,面朝大海,春暖花开 从明天起,和每一个亲人通信告诉他们我的幸福那幸福的闪电告诉我的我将告诉每一个人 给每一条河每一座山取一个温暖的名字陌生人,我也为你祝福愿你有一个灿烂的前程...

Android Studio自动生成唯一的SerialVersionUID

前言最近使用Android Studio时,类继承了Serializable,需要创建唯一的serialVersionUID。之前知道使用过,但现在忘了,因此今天记录于此。好记性不如烂笔头正文先写上如下代码: public static class MediaInfo implem...