今天把公司原来的工程做一个重构,简单的说就是新建一个新的工程,包名和签名保持和原始的工程一致;在重构的过程中遇到一个问题,不能被覆盖,也就是我想说一下的主要问题;首先确保包名和签名是否一致,如果不一致也是不能覆盖的,我顺便说一下它们的区别:
1、包名相同,签名不相同:像这种情况是不能被覆盖的,有存在安全性的问题,需要把原来的app给卸载后才能安装上。
2、包名不相同,签名相同:像这种情况也是不能覆盖,但是可以安装在手机,这时手机上就有两个同名的app,相当于是两个工程,注意了,好多人重构的时候都会把包名写错了,所以就会出现这种情况!
3、还有一种情况,就是现在所说的重点,包名和签名都一致的时候,还是不能覆盖,也是我今天遇到的问题,我现在已经解决了,问题就是出现在versionCode这个内部版本号,因为我今天所新建的重构工程默认是从1开始的,原来的工程已经都n…了,所以这里不能低于手机上安装的同包名和签名app versionCode的值,这样就覆盖不了!
虽然这些都不是什么牛逼的技术分享,但是都是工作中遇到的小细节!