Verify an over-the-air (OTA) update's updater-script against your device's files
Whenever there's an over-the-air (OTA) update sent-out or made available (either leaked or official), there's always a large number of users that end-up reporting that their installations have failed with the infamous and dreaded "E:Error in /sdcard/xxx.zip (Status 7) installation aborted." error message.
So, I decided to try to write an app that would help folks figure-out what the issues might be so that they can get their OTA update installed.
The OTA Verifier app can be used to evaluate an over-the-air (OTA) update.zip or other flashable .zip file before you attempt the install or afterwards to help you figure-out why the installation may have failed. OTA Verifier will point-out what files and conditions are being tested so that you can more easily attempt to correct these issues.
Q: Do I have to be rooted to use this?
A: No, but rooted devices will have more conditions that the app will be able to test/evaluate because it will have access to protected files that non-rooted devices don't.
Q: Will the app actually do the installation or change anything on my device?
A: No. The app will only evaluate the expressions and conditions contained inside the updater-script file inside the .zip file that's trying to be installed. None of the functions or commands that try to modify your device (i.e., delete/patch/format/extract, etc.) will be evaluated or executed. The app basically operates in "read-only" mode with respect to the .zip file being evaluated.
Q: Will this app work on older devices or flashable .zip files that use the amend update-script files?
A: No, this app evaluates and interprets the newer edify updater-script files (notice the "r" in "updater").
How do I use this app?
1. Install and launch the app
2. Click the "Select File" button and navigate to desired .zip file
3. Long-press (press and hold) the file entry for the desired .zip file
4. Click the "Verify OTA .zip" file pop-up
5. Wait for the app to process the file (very large files may take several minutes to complete)
6. View the displayed results (text will also be copied to the clipboard)
Miscellaneous info:
1. Savvy root users probably already know that after a failed .zip file installation, you should be able to view the /cache/recovery/last_log file to view the information about what might have failed. OTA Verifier will try to uncover all of the issues and not just the first one that causes the installation to fail.
2. While I wrote this app principally to evaluate OTA update.zip files, the edify updater-script files are used and written by ROM devs and others who created flashable .zip files. This app can be used to evaluate those file's updater-script files, too.
3. Note: it is not a given that an error reported by this app also means that the OTA will fail to install. I'm seeing newer (Android 5+) OTAs whose updater-script contains post-install SHA1 checks that will be reported as failures (false expressions) by this app. I've added (v2.5) a new "strict mode" preference/setting that will "allow" non-existent files to not make the expression their referenced in evaluate to false (which they would otherwise). Version 2.6 brings additional logic to handle these post-install SHA1 checks by allowing them to not be evaluated as false when detected after seeing a "verifying system partition files" ui_print expression.
4. Additionally, in v2.6, the app will suppress any errors past the 25th one since the output becomes unwieldy (you can revert this change in the preference/settings menu).
Please see this Google+ post for more details on the latest changes: https://plus.google.com/111250871094989567615/posts/ftgrXDS3s8i
Permissions: READ_EXTERNAL_STORAGE - used for the file browser (Select App) to allow you to navigate to and select a file to scan for OTA verification.
Questions? Contact me at scary.alien@gmail.com
Android™ is a trademark of Google, Inc.