[APP] AFV (Android File Verifier)
Introducing the
AFV (Android File Verifier) app, now available (free) in the Market (search for "
AFV"; QR code and screenshots are also below in the attached thumbnails).
The
AFV (Android File Verifier) application is a tool for helping to verify and validate that files transferred to your Android device are whole and uncorrupted.
Developers are welcome and encouraged to include this app in their custom ROMs to assist end-users with checking the completeness and validation of their (your
) downloaded custom ROMs.
The
Android File Verifier app does this by offering:
-
MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 checksum calculation
-
"jarsigner -verify"-type validation of signed jar-type files (.jar, .apk, .zip files)
-
Nandroid backup directory verification via "md5sum -c"-type functionality
These functions are particularly useful for root users who want to verify/validate that their custom ROMs, themes, and installable .zip files are whole and uncorrupted. However,
this app does not require that you be rooted and can also be useful for checking the validity of other non-root files such as application .apk files.
Features
- Includes function to
calculate an MD5 or SHA1 checksum for a selected file
* Useful to verify completeness and integrity of files transferred to your Android device
* File size is also displayed
* Calculated checksum is copied to clipboard
- Includes function to
perform jar file verification of signed jar-type files (true .jar files, .apk files, signed .zip files such as ROMs, installable .zips, etc.) via 'jarsigner -verify'-type functionality. This function will verify the SHA1 checksums of each file listed in the signed jar file's META-INF/MANIFEST.MF file.
- Includes function to
verify Nandroid backup directories via "md5sum -c" type functionality. You navigate to the Nandroid backup directory that you'd like to check, long-press the nandroid.md5 file, and select the Verify Nandroid Backup option. The function will then calculate and verify the MD5 checksums of each file listed in the nandroid.md5 file against the files in the Nandroid backup directory.
Additionally, I've added some special name audits for Nandroid backup directories to point-out any issues you might encounter should you attempt to restore a mis-named Nandroid backup.
How to use
- From main / home screen, press the "Select File" button to enter the file-selector
- Top row (folder icon with the green up arrow) always displays the currently selected directory (touch this row to navigate UP one directory level)
- Back key can also be used to navigate UP one directory level (will return to main screen when pressing back key at root directory)
- Navigate to other subdirectories by touching a directory row (folder icon)
- Touch screen and drag up and down to scroll through all files and directories in currently selected directory
- Long-press on a file to view the available functions:
* Calc MD5 Checksum
* Calc SHA1 Checksum
* Verify Jar-type file
* Verify Nandroid Backup (long-press nandroid.md5 file to use this function)
* Calc SHA224 Checksum
* Calc SHA256 Checksum
* Calc SHA384 Checksum
* Calc SHA512 Checksum
Miscellaneous
Works for any Android version 1.5 or higher; has been tested on:
* Motorola Droid X (v2.1, v2.2)
* Motorola Cliq (v1.5)
* HTC Droid Eris (v2.1)
* Samsung Epic 4G (v2.1)
Menu items supported (main screen only):
* Help
* Acknowledgements
* Change Log
* Filtering options (no filtering or show only zip/jar/apk/img-type files)
* Jar Verify options (normal / fast mode or beta / explicit SHA1 calculation mode)
* Current settings
* Exit App
More app details (additional screenshots, etc.) can be found here:
https://sites.google.com/site/scaryalienware
Acknowledgements
-
jcase at XDA for allowing me to view an example project co-authored w/eclips3 and for the starter MD5 Java code
- XDA's
bftb0 (Android Forums' erisuser1) for his encouragement, review, feedback and suggestions for helping me improve this app
- AF and XDA
doogald for his very helpful reviews, feedback, and continued support
-
Robert W. Harder for his Base64 encoding/decoding classes (
http://iharder.sourceforge.net/current/index.html)
Related threads:
-
Verify your File's MD5 Checksums!
-
On-phone ROM Checksum Verifier
-
Devs - Please publish you MD5's - XDA
Please check out the app and let me know if you have any problems, questions, or comments. Cheers!
Change Log
[version 2.1 - 24-Feb-2013]:
- support auto-verification of MD5 checksum in *.tar.md5 files (thanks for Mike D. for this excellent suggestion)
- better recognize .md5 file entries formatted by other md5sum utilities (i.e., other than busybox md5sum applet)
[version 2.0 - 18-Jul-2012]:
- support Nandroid backup verification for Team Win Recovery Project (TWRP) custom recoveries
- moved two checksum comparison options to the main screen from the menu
- several other minor tweaks and enhancements
[version 1.9 - 26-Jun-2012]:
- minor update to fix crash when non-.md5 file is selected for a Nandroid verification
[version 1.9 - 23-Jun-2012 Android 2.3 and up]:
- support .md5 files w/spaces in file names in 'Verify Nandroid Backup' and 'md5sum -c Type Check' functions
[version 1.8 - 21-Jan-2012 Android 2.3 and up]:
- better display support for tablets and other phone screen densities
- can now also invoke Verify Nandroid Backup function by long-pressing Nandroid backup directory name
- support orientation changes (previous orientation locks have been removed)
- display full information in landscape mode just is done in portrait mode
[version 1.7 - 12-May-2011]:
- display file size after file name in file selector (with menu option to disable)
- add 'Return to Main' menu option in file selector (so you don't have to hit back key)
- tighten-up Nandroid-verification function so that non-'nandroid.md5' files do not cause FCs [note/reminder: the 'Nandroid Verify' function is done against the nandroid.md5 file in your Nandroid backup's directory]
- revise/enhance results pop-up display for the Nandroid Verify function
[version 1.6 - 02-May-2011]:
- thanks to all who have donated or purchased the donate version (very much appreciated!)
- fix FC issue when null/empty URI is received via Send function (please contact me if you experience an FC or other issue)
- several other minor fixes
- dynamically identify external storage directory instead of hardcoding /sdcard
- make pop-up dialogs cancelable via back button
[version 1.5 - 11-Apr-2011]:
- fixed FC issue when last remembered directory is no longer present (renamed / deleted) and
app is re-launched (thanks to Michael C. for bringing this to my attention)
[version 1.4 - 7-Apr-2011]:
- display elapsed time for long-running operations
- allow app to be invoked from other applications (tested with Astro File Manager, Estrongs File Explorer, OI File Manager)
- added donate button (donate version of app will be published soon)
- added 'md5sum -c Type Check' function for .md5 files (equivalent to 'Verify Nandroid Backup') to make it clear that functionality exists for non-Nandroid .md5 files too
[version 1.3 - 2-Feb-2011]:
- now supports SHA-224, SHA-256, SHA-384, and SHA-512 digest/checksum calculation
- display checksum results in a pop-up to ensure viewing checksum results on all phones
- keep screen on while progress-bar is displayed in long-running calculations
- directory name is now remembered from last file selection
- added help menu function for file selection screen
[version 1.2 - 23-Jan-2011]:
- supported standard preferences / settings menu instead of individual menu items
- added SD card mounted check before allowing file selection
- added two methods for comparing MD5 or SHA1 checksums:
* auto-comparison of calculated checksums w/menu option to display comparison results
* manual input of checksum (or paste from clipboard) value to be compared w/next calculated checksum
- changed default sort order of file / directory names to ignore case
- added option to toggle ignoring of case when sorting file / directory names
- force all screens to portrait orientation to fix/prevent FCs (future version will handle orientation changes correctly)
[version 1.1 - 10-Nov-2010]:
- re-instituted checksum clipboard copy lost due to prior UI revamp
- locked orientation of main screen to portrait so checksum results are displayed on all phones (both issues kindly reported by AF's starflorida)
[version 1.0 - 25-Oct-2010]:
- initial Android Market release