1. 程式人生 > >Android OTA升級新舊版本任意升級

Android OTA升級新舊版本任意升級

1. Android升級到較新的版本後,想用.zip升級包升回舊的版本時,在升級時會發錯。這是由於android系統時對升級檔案有版本檢測。

2. build/tools/releasetools/ota_from_target_files:

def main(argv):

  def option_handler(o, a):
    if o == "--board_config":
      pass   # deprecated
    elif o in ("-k", "--package_key"):
      OPTIONS.package_key = a
    elif o in ("-i", "--incremental_from"):
      OPTIONS.incremental_source = a
    elif o in ("-w", "--wipe_user_data"):
      OPTIONS.wipe_user_data = True
    elif o in ("-n", "--no_prereq"):
      OPTIONS.omit_prereq = True
    elif o in ("-o", "--oem_settings"):
      OPTIONS.oem_source = a
    elif o in ("-e", "--extra_script"):
      OPTIONS.extra_script = a
    elif o in ("-a", "--aslr_mode"):
      if a in ("on", "On", "true", "True", "yes", "Yes"):
        OPTIONS.aslr_mode = True
      else:
        OPTIONS.aslr_mode = False
    elif o in ("-t", "--worker_threads"):


3. build/tools/releasetools/edify_generator.py 比較時間戳就是在這裡

  def AssertOlderBuild(self, timestamp, timestamp_text):
    """Assert that the build on the device is older (or the same as)
    the given timestamp."""
    self.script.append(
        ('(!less_than_int(%s, getprop("ro.build.date.utc"))) || '
         'abort("Can\'t install this package (%s) over newer '
         'build (" + getprop("ro.build.date") + ").");'
         ) % (timestamp, timestamp_text))

4. 如果不想系統檢測版本,將ota_from_target_files檔案中改為OPTIONS.omit_prereq = False

相關推薦

Android OTA升級版本任意升級

1. Android升級到較新的版本後,想用.zip升級包升回舊的版本時,在升級時會發錯。這是由於android系統時對升級檔案有版本檢測。 2. build/tools/releasetools/ota_from_target_files: def main(argv):

httpclient版本分割點4.3

redirect xtra xpl 包括 execute syntax target exec cli 從這個版本開始,httpclient的api發生了一次重大調整。主要包括如下:Release 4.3 Final ------------------- This is

pickle在版本python中的問題

在執行github上deep-siamese-text-similarity 的程式碼時, 遇到args[0] from __newobj__ args has the wrong class 的錯誤, 在一個issue裡找到了解決方法, 但是不知道為什麼, 遂做了一點小實驗做個驗證.

解決flex版本的相容性寫法

隨著自己寫過的頁面的增多,也遇到了很多CSS相容性的問題。這些相容性問題,都是必然的,因為技術在不斷進步,不斷革新,所謂,“後浪推前浪,前浪拍死在沙灘上”,當然我們的技術不能是被拍死在沙灘上,我們還要支援,不支援的話,只能是你這個頁面,這個產品被淘汰。 那麼為了不被淘汰,我們就要做些相容性處理。 我寫頁

gitlab升級-(二)備份版本,還原到搭建的gitlab

abd 恢復數據 .com color tex ado stop gitlab升級 文件名 停止gitlabgitlab-ctl stop 備份原a服務器上的的數據gitlab-rake gitlab:backup:create 備份後的文件一般是位於/var/opt/

android studio升級3.0版本,問題處理

方法 targe onu mat code south ng- comm ive android studio升級3.0版本,問題處理 問題1:編譯版本與構建版本修改 compileSdkVersion : 26, buildToolsVersion : “26.0.

IOS 發布 升級版本

ase p s ios xcode all included nbsp BE 新版 ERROR ITMS-90725: "SDK Version Issue. ERROR ITMS-90725: "SDK Version Issue. This app was built

CentOS 7.x下升級Python版本到3.x系列(版本共存)

由於python官方已宣佈2.x系列即將停止支援,為了向前看,我們升級系統的python版本為3.x系列伺服器系統為當前最新的CentOS 7.4   1.安裝前檢視當前系統下的python版本號 # python -V 2.獲取python3.x的官方軟體包 # wget https:/

一個Glide升級版本引發的血案

由於專案用到photopicker,而photopicker用的glide是4.1.1版本 用最新的4.7.1,編譯專案會報 該用原來的3.7.0,編譯後,執行photopicker的跳轉程式碼,會報 找到RequestManager這個類最下面,glide.clear(xxx);

升級Android Studio 3.2.1 版本,遇到的問題

最近收到3.2.1版本的推送就果斷更新了,更新以後,開啟自己最近的專案,報如下錯誤: No route to host (connect failed) Caused by: org.gradle.internal.exceptions.LocationAwareException: A

Android OTA線上升級一(架構分析)

1、前言     OTA(Over-the-Air Technology)空中下載技術。是通過行動通訊(GSM或CDMA)的空中介面對SIM卡資料及應用進行遠端管理的技術。空中介面可以採用WAP、GPRS、CDMA1X及短訊息技術。OTA技術的應用,使得行動通訊不僅可以提供語音和資料服務,而且還能提供新業

Android Studio 低版本Gradle升級到高版本時常見問題

今天拿到一個用低版本Gradle的編譯的Android工程,gradle對版本的向下相容做的不太好,因此在高版本Gradle的電腦上會出很多問題。 1. Error:The project is using an unsupported version of the And

android 版actionbar升級toolbar出現的問題

之前因為有的專案是n年前開發過來的, 結果因為使用了很老的actionbar,現在升級了下,結果出現頁面亂版 compile 'com.android.support:appcompat-v7:25.2.0' 左邊出現空白,右邊出現空白, 標題還右移動了,因為上

Android 8.0系統,版本升級不跳轉應用安裝頁面的完美解決

   最近開發遇到了個問題,app升級的時候,其他手機都能正常升級,下載完安裝包,跳到安裝頁面進行新版本的安裝。但卻有使用者反映,華為P10和華為Mate 9升級時,怎麼也無法跳轉到安裝頁面。起初我以為是華為手機自身系統的問題(因為手上的華為測試機都是正常的),還特地對比了幾

android 實現app內部檢測最新版本 自動升級到最新版本

app現在基本都有版本更新這個功能,實現起來也很簡單 截圖效果: 1. 獲取當前app的版本號 /** * 獲取版本號 * * @throws PackageManager.NameNotFoundException */

CDH 升級到5.12 /etc/alternatives 仍然指向版本的CDH

解決方案直接強制更新軟連線: 檢視原始的連線 ll  /etc/alternatives | grep CDH  | grep -v conf   例如 lrwxrwxrwx  1 root root 66 Nov 18 11:13 avro-tools -> /d

Android OTA升級原理和流程分析(一)

這篇及以後的篇幅將通過分析update.zip包在具體Android系統升級的過程,來理解Android系統中Recovery模式服務的工作原理。我們先從update.zip包的製作開始,然後是Android系統的啟動模式分析,Recovery工作原理,如何從

Android OTA差分包升級失敗

升級失敗log如下:I update_engine: [0530/162336:INFO:delta_performer.cc(359)] Applying 21701 operations to partition "system" E update_engine: [05

tensorflow程式碼版本0.x自動更新升級到1.0

tensorflow 更新到1.0之後,0.n版本不相容,除了手動更改程式碼之外,tensorflow官方還提供了自動更新的指令碼。 使用方法: 更新一個檔案: 原本程式碼為foo.py

Android OTA升級原理和流程分析(三)---Android系統的三種啟動模式

        以下的篇幅開始分析我們在上兩個篇幅中生成的update.zip包在具體更新中所經過的過程,並根據原始碼分析每一部分的工作原理。 一、       系統更新update.zip包的兩種方式 1.  通過上一個文件,我們知道了怎樣製作一個updat