Android安装系统App(adb push实现)
备注:硬件或者手机上切勿装,360软件容易接管adb,导致push出现问题。
添加程序为系统级别应用,需要通过命令行 adb push到/system/app下。
adb push 运用程序案例操作
前期工作:
系统签名后的程序:
运用程序名:
launcherApp.apk
- 设备通过USB链接电脑。
adb命令行,详细操作
注意点:
若是没有配置adb的环境,需要在sdk下的platform-tools文件夹下运行cmd。
若不是在platform -tools文件夹下,运行adb命令行,会提示如下错误:
1. 将apk push到sdcard中:
adb push launcherApp.apk/sdcard/
以上是launcherApp.apk放到同一个文件夹下的命令行。
若是apk和adb是在不同文件夹,需要将apk拖动到命令行中
adb push C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk /sdcard/
执行完命令行中后,会显示结果:
C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk: 1 file pushed. 6.9 MB/s (9021168 bytes in 1.247s)
2. 运行 adb shell:
输入以下命令:
F:\AndroidStudio2.3.3\sdk\platform-tools>adb shell
执行完后,会出现:
shell@rk3288:/ $
3. 切换到root用户
输入以下命令:
shell@rk3288:/ $su
注意点:系统需要root权限。
4. 获取分区读写:
一定要注意空格,以下是输入错误的命令行,且执行报错:
shell@rk3288:/ # mount-o remount,rw -t yaffs2/dev/block/mtdblock3/system
sh: mount-o: not found
127|shell@rk3288:/ # mount -o remount,rw -t yaffs2/dev/block/mtdblock3/system
Usage: mount [-r] [-w] [-o options] [-t type] device directory
1|shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3/system
Usage: mount [-r] [-w] [-o options] [-t type] device directory
1|shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3/system
Usage: mount [-r] [-w] [-o options] [-t type] device directory
正常的命令句子(最好拷贝,不手输入):
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
若是上步骤成功,则跳过这里。
若是出现问题:
mount: '/system' not in /proc/mounts
换用Linux系统自动维护存在mount表,输入现有的挂在点:
mount -o remount,rw /system
来源remount-system-in-rw。
若是出现问题:
mount permission denied
解决方式:来源
5. 将apk移动到系统app文件夹下:
输入以下命令:
cat /sdcard/launcherApp.apk > /system/app/launcherApp.apk
6. 恢复分区属性,只读状态
输入以下命令:
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
7. 保存:
执行两个exit,进行保存操作。
exit
8. 重启设备:
adb reboot
综合:将以上8步骤,构成一个完整push apk命令行操作,展示如下:
F:\AndroidStudio2.3.3\sdk\platform-tools>adb push C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk /sdcard/
C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk: 1 file pushed. 6.3 MB/s (9021430 bytes in 1.373s)
F:\AndroidStudio2.3.3\sdk\platform-tools>adb shell
shell@rk3288:/ $ su
shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
shell@rk3288:/ # cat /sdcard/launcherApp.apk > /system/app/launcherApp.apk
shell@rk3288:/ # mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
shell@rk3288:/ # exit
shell@rk3288:/ $ exit
遇到的问题:
若是设备没有连接成功,执行命令行会报错:
error: device offline
资源参考:
- adb push教程:http://blog.csdn.net/zhuiqiuk/article/details/68947442
还没有评论,来说两句吧...