adb 常見錯誤問題解決

2021-07-22 01:09:32 字數 1890 閱讀 9735

1. 無法識別裝置

adb kill-server

然後再adb start-server

2. segmentation fault, pm install /data…

3.failure [install_parse_failed_no_certificates]

這是由於android應用程式的自簽名機制導致的。

簽名的作用

1. 傳送者的身份認證。由於開發商可能通過使用相同的 package name 來混淆替換已經安裝的程式,以此保證簽名不同的包不被替換

2. 保證資訊傳輸的完整性。簽名對於包中的每個檔案進行處理,以此確保包中內容不被替換。

要解決這個錯誤,需要點專用工具,看雪上比較多,我就不再此貼出來了。

4.failure [install_failed_update_incompatible]

6.adb push out of memory

最近做個東西,要修/system/etc/下的hosts檔案,目的是通過網域名稱訪問內網的伺服器,進行手機與內網的測試,這裡要說的是如果是連線外網,並不需要如此做法,正因為我們要做測試,不可能用外網,是測成功了再連外網

做法是先在電腦上寫好hosts檔案內容,如下:

127.0.0.1      localhost

192.168.0.100      www.myhome.com

儲存好檔案後,通過如下命令進行上傳(要有root許可權,即你曾刷過rom):

adb remount

adb push d:\hosts   /system/etc

之後進入shell模式下 檢視是否上傳成功

adb shell

ping www.myhome.com

如果出現的ip位址是 192.168.0.100表示上傳hosts檔案成功了。

說到這裡,大家可能很想罵我,與題目不符,現在就是出現問題的時候了,

這個檔案是上傳了,當我每次修改**再裝到手機上執行時,就連不上 www.myhome.com了,搞了半天,原來上傳的hosts檔案其實並沒有持久化到手機系統上的,只是內容載到記憶體中,裝新應用或者重啟機子後,就沒了。好!那我再次上傳hosts檔案,就報出:

out of memory 這樣的錯了,必須要重啟手機,才能再次push,這真是太麻煩了,改一次**就要重啟,這算什麼嘛

在網上找了幾天了,解決辦法都是針對模擬器的,真機上出的還是沒找到,今天看了論壇上有人要刪除系統下的檔案,我就看看了,有收穫,

解決辦法是:

在recovery狀態下連線手機,並進入advance  -mount/system,在pc端cmd中輸入以下命令:

adb remount

adb push d:\hosts   /system/etc

之後重新啟動,

啟動之後進入shell

adb shell

cd  /system/etc

cat hosts

ok,成功打出了修改過的內容,而不會再丟失了,是真得改到手機的linux系統上了。

看了論壇的內容也貼出來 ,是講刪除系統檔案

7. 系統檔案刪除無許可權

檢視/data/data下面是否有名稱包含ketech的資料夾,名稱形式類似於com.android.ketech,有則刪掉。

檢視/data/system下面的package.xml檔案,將包含ketech的專案刪掉。

wipe dalvik快取。(方式多樣,有些openrecovery自帶,就不進行詳細解釋了)

重新安裝即可。

替代方案

單改單個模組下的android.mk 加入

local_dex_preopt := false

mm後在out目錄下找到相應apk

當然之前要刪除要替換的的*.apk *.odex

adb 命令與問題解決

1.adb devices offline 檢視你的adb 版本 adb version。從 android 4.2 版本以上,需要adb 版本1.0.31 版本。2.檢視終端的執行緒號 adb shell ps3.捕獲執行緒log adb logcat grep 執行緒號 4.安裝adb 遇到問題...

Git錯誤問題解決集合

在實際的生產過程中,使用git時難免會遇到各種各樣的錯誤,然後去尋找解決答案,所以就想為什麼不把我遇到的問題直接寫出來集合在一起呢?既方便自己也方便別人 在 push 的時候,即使是先 拉去 到本地也是會出現 原因 github 禁用了tls v1.0 and v1.1 解決 更新windows的g...

ubuntu常見問題解決

1.錯誤現象 e 無法獲得鎖 var lib dpkg lock open 11 資源臨時不可用 e 無法對管理目錄 var lib dpkg 加鎖,是不是另乙個包管理程式在使用它?無法執行其他apt get命令 解決辦法 第一種 比較暴力 把lock的檔案強行刪掉,解決問題 sudo rm var...