1、第一次定制系统应用SystemUI,里面用Androidx替换Support包,编译出现报错,error: duplicate value for resource 'attr/orientation' with config ''
然后自己点开错误详情,点击定位,来到了Androidx中的GridlayoutView包中的values.xml文件中,发现定位到了<declare-styleable name="GridLayout_Layout">
这个属性,前面提示重复,那么就找嘛,看哪里定义了这个属性,全局搜索,没有,奇怪了,再到依赖中搜索,找几个依赖lib搜索,也没有,怪了。
是不是依赖重复的问题,想方法看依赖树,看啊看,排除这个依赖,gradle中exclude排除GridLayoutView试一试,其它地方又编不过。
其间还有各种上网搜,都没结果,大半天过去了。
睡了个午觉起来,想起出了错好好看看错误信息说不定能更好解决的原理,定睛仔细看看错误提示,里面提示的是attr/orientation这个东西重复了,定位是 <declare-styleable name="GridLayout_Layout">
这个属性,仔细想想,这也可能是编译器定位出错了呀,这个经常出现的,实际上就是attr/orientation这个属性重复了,把整个错误信息拿到网上搜,发现同样的问题,其中有提到重命名本地的orientation的,再回来attr中搜索,果然有这个,改名,编译,过了。
一个编译器已经提示好的错误,自己却搞过来搞过去弄了大半天,教训啊!遇到问题,先充分理解,再解决这个原理忘了。
**编程中遇到问题,先尝试简单解决(直接处理,直接上网搜),但如果简单解决不行,不要还在那里搞过来搞过去,用水的办法处理,这时候就要冷静下来,用更科学的方法处理了,其中一个重要的方法就是先充分理解问题,再进行解决的思路了。**如运行中的bug,好好分析bug出现的各种现象, 编译型的错误,仔细的,好好看错误提示等等。
2、搜 华为v20手机下断点不能调试问题解决方案
处理断点自动断开功能
3、更新第三方sdk的aar出现奇怪的错误,启动就崩溃,错误出现在sdk中很深的位置
找了半天各种配置什么的都没有问题,后来经人提醒,是Android Studio缓存没有更新导致的,点击file下面 Invalidate Caches / Restart可以了
第二次又遇到这个问题,同样的,点击file下面 Invalidate Caches / Restart竟然还是有问题,应该不是缓存的问题了吧。
又找半天,sdk的配置等等,最后看到网上人因为其它问题删build的,然后去吧build删除了, 结果可以了。
这个invalidate cache竟然并不能删干净缓存,还带这样的?还是不能想当然的、简单的认为某件事就一定是怎样怎样的呀
4、还是导入aar的问题,注意aar所在的lib目录,必须在module名称文件夹的下面。建在其它地方有问题。自己建错地方了,jar什么的仍然可用,但是对于aar,结果却不行。在哪个各种尝试方法解决, 找了很久很久的原因都不行。最后还是同事发现目录建错了!真是的
5、log的tag为空或者msg为空,不会输出,注意
6、
* 编写几何变化相关代码时,一般都要统一坐标系,如原点位置等,不然很可能出错
注意Android的坐标系顺序与数组矩阵遍历顺序的不同。
Android坐标系横着向右为x轴,竖着向下为y轴。而我们遍历矩阵或者数组,的时候一般是先行i++后列j++,这与坐标系先x后y是颠倒的,也就是i代表的是y,j代表的是x,或者先列后行遍历,不要弄混了,自己犯了几次这样的错误了,每次搞半天还不知道哪儿错了。