成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何將apk文件更新到系統(tǒng)中vendor文件夾下

tinna / 4895人閱讀

摘要:為什么要更新到目錄下在知道如何將文件更新到系統(tǒng)文件之下之前我們需要先了解下源碼和開發(fā)相關(guān)的相關(guān)知識系統(tǒng)各個目錄說明源碼目錄說明截取關(guān)鍵目錄說明底層文件系統(tǒng)庫應(yīng)用及組件語言廠商定制代碼可以看到目錄是廠商定制化的目錄因此將文件更新到

1. 為什么要更新到vendor目錄下

在知道如何將apk文件更新到系統(tǒng)文件之下之前我們需要先了解下Android源碼和Android開發(fā)相關(guān)的相關(guān)知識.

1.1 Android系統(tǒng)各個目錄說明

Android 源碼目錄說明

截取關(guān)鍵目錄說明

Android
|-- system (底層文件系統(tǒng)庫、應(yīng)用及組件——C語言)
|-- vendor (廠商定制代碼)

可以看到vendor目錄是廠商定制化的目錄, 因此將apk文件更新到vendor目錄之下是一種權(quán)限較高的操作.

1.2 手機(jī)app開發(fā)和機(jī)頂盒app開發(fā)的區(qū)別

    手機(jī)app開發(fā)是直接基于Android原生無裁剪的SDK開發(fā)的. 直接使用原生系統(tǒng)提供的各種API. 且一般安裝在用戶目錄 data/app 之下.

    機(jī)頂盒的系統(tǒng)是基于原生AOSP裁剪并進(jìn)行相應(yīng)擴(kuò)展而來的系統(tǒng), 在其上開發(fā)的app調(diào)用了很多非原生自帶的API等. 且一般安裝在系統(tǒng)目錄 system/app 或者廠商定制目錄 vendor/app 之下.

2. 更新到vendor文件夾之下的方法 2.1 通過U盤方式:

    將需要更新的apk文件例如 APP_NAME.apk 文件存放在U盤里.

    將U盤插在板子上通過 SecureCRT.exe 工具進(jìn)行拷貝.

    SecureCRT.exe 工具將開發(fā)板連接之后在 su 模式下進(jìn)行 cp 命令 cp /storage/sda1/APP_NAME.apk vendor/app/.

    步驟3會提示 cp: vendor/app/APP_NAME.apk: Read-only file system 表示該文件夾不可寫.需要將該文件夾進(jìn)行掛載.

    輸入命令mount -o rw,remount /vendor 此時vendor文件夾就是具有可讀可寫的權(quán)限.

    重復(fù)步驟3的命令則可以將apk文件更新到 vendor/app 文件夾之下, 再輸入 reboot 重啟命令則可以看到最新的app了.

2.2 通過Android自帶adb工具進(jìn)行更新

    確保開發(fā)板和電腦的網(wǎng)絡(luò)處于同一個網(wǎng)段, 便于后續(xù)通過adb進(jìn)行網(wǎng)絡(luò)調(diào)試.

    通過adb命令連接開發(fā)板 adb connect [開發(fā)板的ip地址:5555], 例如 adb connect 10.100.10.10:5555 如果提示 connected to 10.100.10.10:5555 則表示連接成功. 其他則表示連接失敗. 檢查ip地址和端口號是否正確.

    再通過 adb devices 查看連接的設(shè)備數(shù)量, 一般情況下會顯示如下:

List of devices attached
10.100.10.10:5555        device

但是如果開發(fā)板和電腦之間還用雙頭USB線進(jìn)行連接的話顯示如下:

List of devices attached
0123456789      device
10.100.10.10:5555        device

會發(fā)現(xiàn)多了一個0123456789 設(shè)備

    如果只有一個設(shè)備時則直接通過 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) 則表示成功.

    如果有多個設(shè)備時則通過 adb -s 設(shè)備ip地址:端口 push [apk路徑] /vendor/app 例如 >adb -s 10.100.10.10:5555 push F:apkAPP_NAME.apk /vendor/app

    步驟4或者步驟5會出現(xiàn)方法1時的權(quán)限問題 F:apkAPP_NAME.apk" to "/vendor/app/APP_NAME.apk": remote couldn"t create file: Read-only file system, 則需要通過adb將文件夾進(jìn)行掛載.

    進(jìn)入設(shè)備的 shell 模式

一個設(shè)備時的命令:

>adb shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次進(jìn)行步驟4

多個設(shè)備時的命令:

>adb -s [ip地址] shell
:/ #>mount -o rw,remount /vendor
:/ #>exit
再次進(jìn)行步驟5

文/謝康

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/7272.html

相關(guān)文章

  • Android系統(tǒng)編譯時集成三方APK

    摘要:前言最近在學(xué)習(xí)系統(tǒng)開發(fā),在開發(fā)過程中可能要到將三方集成到系統(tǒng)中的需求。一種是在系統(tǒng)編譯完畢之后,再將三方文件放置到系統(tǒng)目錄之下。還有一種是在系統(tǒng)編譯時順帶著將三方文件打包到系統(tǒng)中。例如可以換成自己集成的第三方的文件名。1. 前言 最近在學(xué)習(xí)Android系統(tǒng)開發(fā),在開發(fā)過程中可能要到將三方apk集成到系統(tǒng)中的需求。目前我了解的方法有兩種。 一種是在系統(tǒng)編譯完畢之后,再將三方apk文件放置到...

    Baaaan 評論0 收藏0
  • swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? docker 了解

    摘要:源碼解讀系列一好難都跑不起來怎么破了解一下唄閱讀框架源碼第一步搞定環(huán)境小伙伴剛接觸的時候會感覺壓力有點大更直觀的說法是難開發(fā)組是不贊成難這個說法的的代碼都是實現(xiàn)的而又是世界上最好的語言的代碼閱讀起來是很輕松的開發(fā)組會用源碼解讀系列博客深 date: 2018-8-01 14:22:17title: swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? doc...

    shenhualong 評論0 收藏0
  • swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? docker 了解

    摘要:源碼解讀系列一好難都跑不起來怎么破了解一下唄閱讀框架源碼第一步搞定環(huán)境小伙伴剛接觸的時候會感覺壓力有點大更直觀的說法是難開發(fā)組是不贊成難這個說法的的代碼都是實現(xiàn)的而又是世界上最好的語言的代碼閱讀起來是很輕松的開發(fā)組會用源碼解讀系列博客深 date: 2018-8-01 14:22:17title: swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? doc...

    rollback 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<