中国农业银行证书枚举控件()
admin
2023-04-21 16:31:49

导读:前言某日(其实就是今日。。。),在我将一个大需求做完以后,合并到了 master,一看改动文件,96 个,大呼爽。因为改的文件太多,担心出问题,于是 build 一下,然后就出错了。。。错误如下所示:activity_blink.xml:8

中国农业银行证书枚举控件,

前言

某日(其实就是今日。。。),在我将一个大需求做完以后,合并到了 master,一看改动文件,96 个,大呼爽。因为改的文件太多,担心出问题,于是 build 一下,然后就出错了。。。

错误如下所示:

activity_blink.xml:8: error: Error: String types not allowed (at 'extraScaleType' with value 'matchWidthTopCrop').

自定义控件属性报错???

看了下代码,这个 extraScaleType 是一个自定义控件的属性,是个枚举类型,matchWidthTopCrop 是其中的一个值,于是翻了翻 attrs 定义,乍一看没啥问题啊。。。

自定义属性定义:

<declare-styleable name="CustomCropImageView">

自定义属性使用:

上述是我们 App 中 res/values/attrs.xml 文件的定义,这还能有错儿?百思不得其姐。。。

我开始了

首先我在 StackOverflow 看到了这个:Custom enum attribute gives error String types not allowed。

这个问题下面就俩回答:一个说可能是 namespace 的问题,我检查了下,使用的默认的 app 的 namespace,没啥问题 xmlns:app="http://schemas.android.com/apk/res-auto"。而另一个,说是要把在 declare-styleable 内部声明的 attr 属性放到和 declare-styleable 同级的后头,实际上也没啥用。。。

事情一度陷入了江局。

柳暗花明

然后,我看到了这个:Error: Attribute "style" has already been defined。这个 issue 讲的是啥呢,就是说 color.xml 里的一个颜色定义重复了,然后就报错了,然后项目的维护者建议是属性定义最好加前缀,免得属性冲突。

这个时候我一拍脑门儿,哎?!!!我们项目不就经常这样吗!!!我之前也遇到过。因为开发不规范,SDK 属性定义没加前缀,导致各种冲突的事情已经屡见不鲜了。这次的问题说不定就是属性被覆盖了。。。

于是,我全局搜索这个 extraScaleType,果不其然,在 build/intermediates/res/merged/official/debug/values/values.xml 中,搜索到了这个 extraScaleType,哎哟我去,它长这 AC 样:

<declare-styleable name="CustomCropImageView">

发现没,少了一行 ,妈的,肯定是被别的 SDK 的相同的定义给覆盖掉了,果不其然,在另外两个 SDK 中,都有这个属性的定义,而且都是没有这个 的。

一时间,真相大白。

改正

知道原因就好办了,把 App 里的属性删掉,在 SDK 里加上这个自定义属性就 OK 了,当然,这只是临时解决方案,后续会把这些个自定义控件(属性)放到基础 UI 库里。

吃一堑长一智

这个小问题大概耽误了我俩小时,感觉有点儿亏,吃一堑长一智吧。

  1. SDK 开发的时候,所有资源都应该有前缀,可以使用 resourcePrefix 来协助你规范命名
  2. 资源问题导致的编译失败,可以看看编译的产出文件,说不定能给你解决问题带来一定的思路,位置是 build/intermediates/res/merged/official/debug/values/values.xml

总结:以上内容就是对于中国农业银行证书枚举控件,的详细介绍,文章内容部分转载自互联网,希望对您了解中国农业银行证书枚举控件有帮助和参考的价值。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...