使用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系统,输入adb shell后你就等于进入Linux了,之后就都用Linux的命令进行操作了,而adb不是linux命令,所以你输入adb push update_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


你可能感兴趣的:(apk,adb,推送,pull)