lshboo 发表于 2018-7-25 10:18:53

使用ADB“推送/提取/安装”文件进手机(华为U8825D)及错误举例

  这次写写如何用ADB来推送、提取和安装apk文件进手机,和使用刷机包的方法相比各有所长。
  

  

  测试环境:XP32,javasdk6
  

  先安装JAVA-SDK6,设好运行环境,然后将ADB的几个文件丢进c:\windows文件夹,方便调用。手机已刷入第三方recovery。
  
开机按“电源+音量上键”进入recovery模式,再进入“U盘/格式化”选项,选择“挂载/system”。必须进行这步,不然后面看似成功实际失败,并且没有提示。也可使用”adb shell mount /system“。
  

  
连接手机,在开始菜单“运行”中输入“CMD”,进入命令行模式。文件和路径用自己的,这里只是举例,注意不要用中文。
  

  
一、推送文件“PUSH”
  

  
C:\apk\zipalign>adb push C:\apk\zipalign\SystemUI.apk /system/app
  

  注意大小写,不然/app下会有两个不同名文件。/system/app里自带名称是SystemUI.apk
  

  

  
C:\apk\zipalign>adb shell chmod 644 system/app/SystemUI.apk
  

  修改SystemUI.apk权限为0644,就是我们最常见的“3读1写”。然后“adb reboot”重启手机就可以了。不行的可以先用SU命令。
  大多数情况就是这个,特殊的如“SU”就是6755,有兴趣的可以看一下相关文章。
  

  
二、提取文件“PULL”
  

  
C:\Documents and Settings\Administrator>adb pull system/app/SystemUI.apk c:/
  

  将手机中的system/app/SystemUI.apk“拉”到电脑的C:盘下
  

  
三、安装程序"install"
  

  
C:\apk\zipalign>adb install C:\apk\zipalign\shenhaiV1.0.apk
  

  安装apk文件到data/app/
  

  
如果是反安装,注意使用“包名”而不是文件名。
  

  

  

  错误举例
  adb模式拷贝ROM到KF报/sbin/sh: adb: not found
  

  

  
C:\kf>adb shell
  
* daemon not running. starting it now *
  
* daemon started successfully *
  
~ # adb push update_6.21.zip /sdcard/
  
adb push update_6.21.zip /sdcard/
  
/sbin/sh: adb: not found
  
~ #
  

  adb shell是远程登陆机器的Linux系统,输入adbshell后你就等于进入Linux了,之后就都用Linux的命令进行操作了,而adb不是linux命令,所以你输入adb pushupdate_6.21.zip /sdcard/肯定会提示错误的。也就是说用adb命令,是直接在外部使用的,不能在adb shell中
  
直接在第一行就输入 adb push update_6.21.zip /sdcard/
  -------------------------------------------------------------------------------
  ls
  

  
ls -l   看权限
  

  
-rw-rw---- app_51   app_51
  
该文件只有app_51用户以及app_51群组拥有读写权限
  

  --------------------------------------------------------------------------------
  adb shell mount /system
  
adb push su /system/bin/
  
adb shell chmod 4755 /system/bin/su
  
adb push Superuser.apk /system/app/
  
adb shell reboot
  
  
页: [1]
查看完整版本: 使用ADB“推送/提取/安装”文件进手机(华为U8825D)及错误举例