adb push和adb install的区别


“adb push”仅拷贝apk到手机上(push到/system/app下重启会注册应用程序),而“adb install”不仅拷贝apk到手机上而且安装应用程序包到系统中

.platform\system\core\adb\commandline.c中adb push的实现
    if(!strcmp(argv[0], "push")) {
        if(argc != 3) return usage();
        return do_sync_push(argv[1], argv[2], 0 /* no verify APK */);
    }

同样的文件中的函数install_app也实现了adb install实现:
安装apk调用 do_sync_push(apk_file, apk_dest, 1 /* verify APK */)时需要验证,验证文件在有SD卡时位于"/sdcard/tmp/"目录下、无SD卡时位于"/data/local/tmp/"下 ,如果上面的安装文件成功push到了手机上,这个函数则会把验证文件push到临时文件夹中进行验证,在用手机里的pm程序安装应用程序包(即 pm_command(transport, serial, argc, argv)),验证成功后再删除;如果安装文件未能成功push到手机,则删除该失败文件。

adb push 能够指定安装目录。比如执行"adb push xxx.apk system/app" 后,xxx.apk被安装到了system/app目录下,此目录下的软件为上文中提到的system application。                                                                      
adb install 用此命令安装的软件位于 data/app 目录,则为user application。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值