android包名大小写敏感,注意:Android Studio 更改包名,会更改 implementation

Android Studio 中,有一个包名,注意是包,不仅仅是普通的文件夹,名称为 itpow,假设完整的包名为:com.itpow.android。

同时在 build.gradle 中 dependencies 下有一个 implementation:implementation files('libs/ms-excel-itpow-3.5.jar')

当我们在实施 Refactor -> Rename 的时候,选中 Search in comments and strings。

ce98b7c7b3cc2ca66b473419b68ad5b9.png

会将:implementation files('libs/ms-excel-itpow-3.5.jar') 中的 itpow 改名,改了之后就出错,因为文件名不是这个,引用自然出错了嘛:Expecting a file or a directory。这提示还真有点莫名其妙,你就说找不到对应的文件难道不清晰明了?非说什么希望是个文件或者目录。

这个匹配有点生硬呀。那按照上面的说法,我的注释中的 itpow、字符串变量引号中的 itpow 也会被改?

我们再来研究研究:

1、像这类字符串、注释,匹配是比较生硬,但是也遵从两个原则:一是大小写敏感,二是全字匹配。也就是说 zoo 匹配 zoo、zoo-park,但不匹配 ZOO、zoom。

2、变量、包名、类名这些不会生硬地匹配,比如 com.cftea.itpow,这里的 itpow 就不会被咱们上面的实验改到,因为它能够识别出来这不相干。

3、这里字符串、注释匹配功能是有 BUG 的。

关于这个 BUG

我在某 java 中写了这个字符串、备注,它一直无法找到,直到我 import 了这个包,然后才找到,那么理论上,我移除这个包的 import,应该继续找不到了,但是它仍然能找到。

继续,既然仍然能继续找到,我就继续做实验吧,当前找到了一个变量中的字符串、一个注释、一个文件名,但是当我把变量中的字符串删掉,不让它找到,再预览,他的确没有找到了,但是它却又冒出了 values 中的两个文件。此实验已经多次、认真、小心进行,绝无其他改变,可以看出这是个 BUG,而且类似的 BUG 还有。

8610b019bbaa3f54a052fcb6e4434538.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值