如何将apk文件更新到系统中vendor文件夹下

1. 为何要更新到vendor目录下

在知道如何将apk文件更新到系统文件之下以前咱们须要先了解下Android源码和Android开发相关的相关知识.shell

1.1 Android系统各个目录说明

Android 源码目录说明bash

截取关键目录说明网络

Android
|-- system (底层文件系统库、应用及组件——C语言)
|-- vendor (厂商定制代码)
复制代码

能够看到vendor目录是厂商定制化的目录, 所以将apk文件更新到vendor目录之下是一种权限较高的操做.app

1.2 手机app开发和机顶盒app开发的区别

  1. 手机app开发是直接基于Android原生无裁剪的SDK开发的. 直接使用原生系统提供的各类API. 且通常安装在用户目录 data/app 之下.工具

  2. 机顶盒的系统是基于原生AOSP裁剪并进行相应扩展而来的系统, 在其上开发的app调用了不少非原生自带的API等. 且通常安装在系统目录 system/app 或者厂商定制目录 vendor/app 之下.spa

2. 更新到vendor文件夹之下的方法

2.1 经过U盘方式:

  1. 将须要更新的apk文件例如 APP_NAME.apk 文件存放在U盘里..net

  2. 将U盘插在板子上经过 SecureCRT.exe 工具进行拷贝.调试

  3. SecureCRT.exe 工具将开发板链接以后在 su 模式下进行 cp 命令 cp /storage/sda1/APP_NAME.apk vendor/app/.code

  4. 步骤3会提示 cp: vendor/app/APP_NAME.apk: Read-only file system 表示该文件夹不可写.须要将该文件夹进行挂载.blog

  5. 输入命令mount -o rw,remount /vendor 此时vendor文件夹就是具备可读可写的权限.

  6. 重复步骤3的命令则能够将apk文件更新到 vendor/app 文件夹之下, 再输入 reboot 重启命令则能够看到最新的app了.

2.2 经过Android自带adb工具进行更新

  1. 确保开发板和电脑的网络处于同一个网段, 便于后续经过adb进行网络调试.

  2. 经过adb命令链接开发板 adb connect [开发板的ip地址:5555], 例如 adb connect 10.100.10.10:5555 若是提示 connected to 10.100.10.10:5555 则表示链接成功. 其余则表示链接失败. 检查ip地址和端口号是否正确.

  3. 再经过 adb devices 查看链接的设备数量, 通常状况下会显示以下:

List of devices attached
10.100.10.10:5555        device
复制代码

可是若是开发板和电脑之间还用双头USB线进行链接的话显示以下:

List of devices attached
0123456789      device
10.100.10.10:5555        device
复制代码

会发现多了一个0123456789 设备

  1. 若是只有一个设备时则直接经过 adb push [apk路径] /vendor/app 例如 adb push F:apk\APP_NAME.apk /vendor/app 提示 F:apk\APP_NAME.apk: 1 file pushed. 9.3 MB/s (19684462 bytes in 2.021s) 则表示成功.

  2. 若是有多个设备时则经过 adb -s 设备ip地址:端口 push [apk路径] /vendor/app 例如 >adb -s 10.100.10.10:5555 push F:apk\APP_NAME.apk /vendor/app

  3. 步骤4或者步骤5会出现方法1时的权限问题 F:apk\APP_NAME.apk' to '/vendor/app/APP_NAME.apk': remote couldn't create file: Read-only file system, 则须要经过adb将文件夹进行挂载.

  4. 进入设备的 shell 模式

一个设备时的命令:

>adb shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次进行步骤4
复制代码

多个设备时的命令:

>adb -s [ip地址] shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次进行步骤5
复制代码

文/谢康

相关文章
相关标签/搜索