摘要:為什么要更新到目錄下在知道如何將文件更新到系統文件之下之前我們需要先了解下源碼和開發相關的相關知識系統各個目錄說明源碼目錄說明截取關鍵目錄說明底層文件系統庫應用及組件語言廠商定制代碼可以看到目錄是廠商定制化的目錄因此將文件更新到
1. 為什么要更新到vendor目錄下在知道如何將apk文件更新到系統文件之下之前我們需要先了解下Android源碼和Android開發相關的相關知識.
1.1 Android系統各個目錄說明Android 源碼目錄說明
截取關鍵目錄說明
Android |-- system (底層文件系統庫、應用及組件——C語言) |-- vendor (廠商定制代碼)
可以看到vendor目錄是廠商定制化的目錄, 因此將apk文件更新到vendor目錄之下是一種權限較高的操作.
1.2 手機app開發和機頂盒app開發的區別
手機app開發是直接基于Android原生無裁剪的SDK開發的. 直接使用原生系統提供的各種API. 且一般安裝在用戶目錄 data/app 之下.
機頂盒的系統是基于原生AOSP裁剪并進行相應擴展而來的系統, 在其上開發的app調用了很多非原生自帶的API等. 且一般安裝在系統目錄 system/app 或者廠商定制目錄 vendor/app 之下.
將需要更新的apk文件例如 APP_NAME.apk 文件存放在U盤里.
將U盤插在板子上通過 SecureCRT.exe 工具進行拷貝.
用 SecureCRT.exe 工具將開發板連接之后在 su 模式下進行 cp 命令 cp /storage/sda1/APP_NAME.apk vendor/app/.
步驟3會提示 cp: vendor/app/APP_NAME.apk: Read-only file system 表示該文件夾不可寫.需要將該文件夾進行掛載.
輸入命令mount -o rw,remount /vendor 此時vendor文件夾就是具有可讀可寫的權限.
重復步驟3的命令則可以將apk文件更新到 vendor/app 文件夾之下, 再輸入 reboot 重啟命令則可以看到最新的app了.
確保開發板和電腦的網絡處于同一個網段, 便于后續通過adb進行網絡調試.
通過adb命令連接開發板 adb connect [開發板的ip地址:5555], 例如 adb connect 10.100.10.10:5555 如果提示 connected to 10.100.10.10:5555 則表示連接成功. 其他則表示連接失敗. 檢查ip地址和端口號是否正確.
再通過 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 設備
如果只有一個設備時則直接通過 adb push [apk路徑] /vendor/app 例如 adb push F:apkAPP_NAME.apk /vendor/app 提示 F:apkAPP_NAME.apk: 1 file pushed. 9.3 MB/s (19684462 bytes in 2.021s) 則表示成功.
如果有多個設備時則通過 adb -s 設備ip地址:端口 push [apk路徑] /vendor/app 例如 >adb -s 10.100.10.10:5555 push F:apkAPP_NAME.apk /vendor/app
步驟4或者步驟5會出現方法1時的權限問題 F:apkAPP_NAME.apk" to "/vendor/app/APP_NAME.apk": remote couldn"t create file: Read-only file system, 則需要通過adb將文件夾進行掛載.
進入設備的 shell 模式
一個設備時的命令:
>adb shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次進行步驟4
多個設備時的命令:
>adb -s [ip地址] shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次進行步驟5
文/謝康
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/7272.html
摘要:前言最近在學習系統開發,在開發過程中可能要到將三方集成到系統中的需求。一種是在系統編譯完畢之后,再將三方文件放置到系統目錄之下。還有一種是在系統編譯時順帶著將三方文件打包到系統中。例如可以換成自己集成的第三方的文件名。1. 前言 最近在學習Android系統開發,在開發過程中可能要到將三方apk集成到系統中的需求。目前我了解的方法有兩種。 一種是在系統編譯完畢之后,再將三方apk文件放置到...
摘要:源碼解讀系列一好難都跑不起來怎么破了解一下唄閱讀框架源碼第一步搞定環境小伙伴剛接觸的時候會感覺壓力有點大更直觀的說法是難開發組是不贊成難這個說法的的代碼都是實現的而又是世界上最好的語言的代碼閱讀起來是很輕松的開發組會用源碼解讀系列博客深 date: 2018-8-01 14:22:17title: swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? doc...
摘要:源碼解讀系列一好難都跑不起來怎么破了解一下唄閱讀框架源碼第一步搞定環境小伙伴剛接觸的時候會感覺壓力有點大更直觀的說法是難開發組是不贊成難這個說法的的代碼都是實現的而又是世界上最好的語言的代碼閱讀起來是很輕松的開發組會用源碼解讀系列博客深 date: 2018-8-01 14:22:17title: swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? doc...
閱讀 1837·2023-04-25 14:49
閱讀 3117·2021-09-30 09:47
閱讀 3100·2021-09-06 15:00
閱讀 2224·2019-08-30 13:16
閱讀 1436·2019-08-30 10:48
閱讀 2668·2019-08-29 15:11
閱讀 1287·2019-08-26 14:06
閱讀 1663·2019-08-26 13:30