近期接到个需求,是得将apk build到系统里,并且在平时的过程中还是可以进行调试的。
那么问题来了,我们都知道系统内置的apk是不能卸载的,那能不能reinstall呢。
一般的系统apk,android.mk都有这么一句:
LOCAL_CERTIFICATE := platform
对于这句而言,不论你内置的apk有签名与否,install之前都会将apk做resign的操作,会签系统签名。
这样以来,我们在install自己apk的时候 ,由于签名不同 ,是不能进行安装升级的。
解决方案:
LOCAL_CERTIFICATE := PRESIGNED
这样就告诉编译器不用去resign,一直保留我们自己的签名,这样我们就可以成功的install和升级了.