Android安装系统App(adb push实现)

谁借莪1个温暖的怀抱¢ 2022-06-10 00:13 1213阅读 0赞

备注:硬件或者手机上切勿装,360软件容易接管adb,导致push出现问题。

添加程序为系统级别应用,需要通过命令行 adb push到/system/app下。

adb push 运用程序案例操作


前期工作

  1. 系统签名后的程序:

    运用程序名:

    1. launcherApp.apk
  2. 设备通过USB链接电脑。

adb命令行,详细操作

注意点

若是没有配置adb的环境,需要在sdk下的platform-tools文件夹下运行cmd。

若不是在platform -tools文件夹下,运行adb命令行,会提示如下错误:

这里写图片描述

1. 将apk push到sdcard中

  1. adb push launcherApp.apk/sdcard/

以上是launcherApp.apk放到同一个文件夹下的命令行。

若是apk和adb是在不同文件夹,需要将apk拖动到命令行中

  1. adb push C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk /sdcard/

执行完命令行中后,会显示结果:

  1. C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk: 1 file pushed. 6.9 MB/s (9021168 bytes in 1.247s)

这里写图片描述

2. 运行 adb shell:

输入以下命令:

  1. F:\AndroidStudio2.3.3\sdk\platform-tools>adb shell

执行完后,会出现:

  1. shell@rk3288:/ $

这里写图片描述

3. 切换到root用户

输入以下命令:

  1. shell@rk3288:/ $su

这里写图片描述

注意点:系统需要root权限。

4. 获取分区读写

一定要注意空格,以下是输入错误的命令行,且执行报错:

  1. shell@rk3288:/ # mount-o remount,rw -t yaffs2/dev/block/mtdblock3/system
  2. sh: mount-o: not found
  3. 127|shell@rk3288:/ # mount -o remount,rw -t yaffs2/dev/block/mtdblock3/system
  4. Usage: mount [-r] [-w] [-o options] [-t type] device directory
  5. 1|shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3/system
  6. Usage: mount [-r] [-w] [-o options] [-t type] device directory
  7. 1|shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3/system
  8. Usage: mount [-r] [-w] [-o options] [-t type] device directory

正常的命令句子(最好拷贝,不手输入):

  1. mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

这里写图片描述
若是上步骤成功,则跳过这里。

若是出现问题:

  1. mount: '/system' not in /proc/mounts

换用Linux系统自动维护存在mount表,输入现有的挂在点:

  1. mount -o remount,rw /system

来源remount-system-in-rw。

若是出现问题:

  1. mount permission denied

解决方式:来源

5. 将apk移动到系统app文件夹下

输入以下命令:

  1. cat /sdcard/launcherApp.apk > /system/app/launcherApp.apk

这里写图片描述

6. 恢复分区属性,只读状态

输入以下命令:

  1. mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

这里写图片描述

7. 保存:

执行两个exit,进行保存操作。

  1. exit

这里写图片描述

8. 重启设备

  1. adb reboot

综合:将以上8步骤,构成一个完整push apk命令行操作,展示如下

  1. F:\AndroidStudio2.3.3\sdk\platform-tools>adb push C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk /sdcard/
  2. C:\Users\fhu7\Desktop\signapk.jar\launcherApp.apk: 1 file pushed. 6.3 MB/s (9021430 bytes in 1.373s)
  3. F:\AndroidStudio2.3.3\sdk\platform-tools>adb shell
  4. shell@rk3288:/ $ su
  5. shell@rk3288:/ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
  6. shell@rk3288:/ # cat /sdcard/launcherApp.apk > /system/app/launcherApp.apk
  7. shell@rk3288:/ # mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
  8. shell@rk3288:/ # exit
  9. shell@rk3288:/ $ exit

这里写图片描述

遇到的问题

若是设备没有连接成功,执行命令行会报错:

  1. error: device offline

这里写图片描述

资源参考

  • adb push教程:http://blog.csdn.net/zhuiqiuk/article/details/68947442

发表评论

表情:
评论列表 (有 0 条评论,1213人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android push原理

    一、消息推送定义 在用户未打开App时,App主动向用户推送服务器最新消息。如下图: ![在这里插入图片描述][20200826193844584.png_pic_c

    相关 andriod的push实现

    android push   android push 是安卓的一种消息推送机制。开发者在开发的时候会有这样的几种实现方案:   安卓关于消息推送的相关方案介绍