寺廟建設網(wǎng)站的意義百度搜索引擎的原理
1.1 多服務器編譯 OTA 報錯
Android7 以后引入了 jack-server 功能,也導致在公共服務器上 編譯 Android7 以上的版本時,會出現(xiàn) j ack-server 報錯問題。
在多用戶服務器上 編譯 dist 時 會出現(xiàn)編譯過程中 會將 port_service 和 port_admin 改為 默認的 8076 和 8077。
目前 沒有發(fā)現(xiàn)什么好的解決方式:
1.盡量 避免在多用戶服務器上 編譯 dist 。
2.若是必須在多用戶服務器上編譯 dist 則需要將 jack-setting 和 jack-server 里的 config 文件中
將 port_service 改為相同的 8076 //改為默認值
將 port_admin 改為相同的 8077 //改為默認值
根目錄下 vi .jack-setting 即可進行配置
1.2 OTA 升級時間戳校驗報錯
我們在 recovery 升級的時候,經(jīng)常提示這樣的錯誤:
Installingupdate…
Can’tinstall this package(TueJun2712:29:30CST2017)overnewerbuild(MonJun2617:20:32CST2017)
E:Errorin/udisk/xxxx.zip
(Status7)
意思就是,我們不能從新的版本升級到舊的系統(tǒng),有個時間戳的比較。
針對此問題有如下解決方式:
1.每次編譯 OTA包的時候 都應該先 make clean,之后重新編譯,保證 update 包的 UTC 時間比需要升
級的基礎版本的 UTC 時間要新。
2.去除時間戳校驗(默認是不建議客戶這么做):
./build/tools/releasetools/ota_from_target_files 傳入?yún)?shù)–no_prereq 即可,那么編譯生成的升級包不再包 含時間戳校驗。 原因:如果時間戳校驗失敗,既 OTA包沒有設備中的 recovery 的編譯時間早
1.3 JDK 版本不匹配
Unsupported major.minor version 52.0: 看到 Unsupported 想到 jdk 高版本能兼容低版本,但是 低版本不能兼容高版本
修改方法: sudo update-alternatives --config java
1.4 手動 push update 包時候不要有 adb remount
在 ota 升級的時候不要有 adb remount 這樣的動作
adb remount 會導致 system 發(fā)生改變,會導致升級的時候哈希值發(fā)生改變,升級失敗