如何將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
複製代碼

文/謝康

相關文章
相關標籤/搜索