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...