2017-04-05 127 views
0

我們從源代碼構建Android,在我們的設備上看起來不錯。目前我們需要制定自己的OTA流程,但我們不知道如何。如何在AOSP - fslota中製作自己的OTA應用程序?

我們嘗試對我們的http服務器實施FSLOTa(https://github.com/embest-tech/android_packages_apps_fsl_imx_demo/tree/master/FSLOta),但文檔非常差 - 所以我們只是將源添加到我們的源代碼並編譯它。

問題是,我們在我們的盒子中看到應用程序,但它沒有任何內容。

或者有辦法修改內置的OTA應用程序,當我們將服務器更改爲我們的服務器時,我們至少會得到http請求。但我們不知道,如何告訴http服務器關於新版本 - 任何清單文件? XML,JSON還是?有沒有例子?

還是有另一種簡單的方法來實現OTA更新到AOSP?

非常感謝您 d

回答

1

我不知道FSLOTa我也不知道你正在使用的設備。但是,如果你想實現自己的OTA過程中,你可以嘗試以下的(僅有很短的草案,因爲你的問題是非常寬):

  1. 創建不時檢查時間的服務器新產品的系統應用。
  2. 如果它檢測到新軟件包,它會將其下載到您的設備。
  3. 它複製下載update.zip/cache/
  4. 然後應用程序創建下列文件/cache/recovery/command和寫入--update_package=path_to_your_file。 (有關更多命令,請參閱/bootable/recovery.cpp)
  5. 然後強制重啓進入recovery
  6. 恢復安裝您的ota軟件包。

更新: 我趕緊檢查你鏈接的應用程序。我會檢查這個東西:

  1. 你得到直到RecoverySystem.installPackage()被稱爲? (https://github.com/embest-tech/android_packages_apps_fsl_imx_demo/blob/master/FSLOta/src/com/fsl/android/ota/OTAServerManager.java#L282
  2. 您是否從RecorySystem的logcat中看到消息,它將重新啓動? (也許你有權限問題,你的應用程序不允許強制「重新啓動恢復」)
  3. 是你的update.zip的路徑是否正確? (它應該在/ cache /中)
+0

你好,非常感謝。其實我們正在嘗試你的建議,我會寫結果給你。謝謝!!!!!! –

+1

真的在工作,謝謝!!!! –

相關問題