Android源码模块编译mm编译成功但签名不一致的问题

参与系统源码开发的时候,负责某个模块(系统APP)的开发,通常来说,源码全编译之后,以后想要单独编译模块,直接cd到具体的模块路径下,执行mm(或者上一级执行mmm + 模块名)就可以单独编译该模块。然而其中出现了一个比较诡异的问题:
全编译的时候,模块对应的apk会在

out\target\product\open_uhd_ap\system\product\app\

目录下生成;后来改动了代码,模块对应的apk会在

out\target\product\generic\system\product\app\SkyFactory

下生成,这不是最重要的,重要的是在这个路径下生成的apk使用adb install安装的时候会提示“signatures do not match previously installed version; ignoring!”,即签名不一致,安装失败。

检查了很久,原来是screen导致的,比如,我在screen A进行全编译,但是由于全编译需要比较长的时间,我切换到screen B了,全编译完成之后,忘记切换回screen A了,直接在screen B修改了代码,然后执行mm,这样就会在第二个路径下生成apk。

解决的办法,切换回你全编译的screen进行mm,比如我是在screen A进行全编译的,那么改动代码之后,也要在sreen A进行mm,生成的apk才能正常安装。

有同学说,如果我那个screen被close了怎么办,那就重新lunch再进行编译试试

猜你喜欢

转载自blog.csdn.net/ithouse/article/details/88343127