Related
Introducing the AFV File Verifier for Android™ app, now available (free) in the Market (search for "AFV"; QR code and screenshots are also below in the attached thumbnails).
The AFV File Verifier for Android™ 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 AFV File Verifier for Android™ 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.3 - 11-Jan-2014]:
- fix issue w/verifying TWRP Nandroid backups [thanks to Marc M. for the kind heads-up re. this]
[version 2.2 - 09-Nov-2013]:
- fix force-close (FC) issues for some devices (Google added new external storage read permission requirement in 4.1 and higher)
[apologies for the delay in fixing]
[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
nice work....
pls post apk files here thx man
Wonderful dude... this helps a lot for frequent "flashers"
androgiallo said:
nice work....
pls post apk files here thx man
Click to expand...
Click to collapse
androgiallo, you are very welcome! I've got some minor tweaks that I'm working on, so I'm hoping to keep using the Market's ability to let people know about updates (it got a little cumbersome w/publishing the older versions of the app in different threads, etc., lol).
Neo.Collin said:
Wonderful dude... this helps a lot for frequent "flashers"
Click to expand...
Click to collapse
Neo.Collin, thank you for the kinds words and feedback--I very much appreciate it. I know there's a lot of frequent flashers D) out that should be checking their downloaded ROMs and such...peace of mind, you know?
Please let me know if you have any suggestions and/or ideas for future improvements. Thanks!
v1.2 just uploaded to the Market
All,
Been awhile since I've updated this app and it was long overdue. Mostly minor fixes and updates. No real core functions changed other than upgrade the early (noobie-coded ) menu settings to the more professional and standard preferences and settings menu.
I've also made some changes that should eliminate any FCs you were getting (most related to orientation changes, I believe). I'll get the orientation handling properly done in a future version.
If you get any FCs, please email me at [email protected] and let me know the circumstances so I can make a fix (the crash reports don't often tell the whole story).
Here's the change log for v1.2:
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)
Thanks again for using my app and for your support. As always, email me or post-up here for any comments, questions, issues, or suggestions.
Cheers!
Hey, great app. Not sure if I missed this feature, but it would be cool to copy paste a md5 before your app verifies the selected file, and simply says if it matches or not
titans808 said:
Hey, great app. Not sure if I missed this feature, but it would be cool to copy paste a md5 before your app verifies the selected file, and simply says if it matches or not
Click to expand...
Click to collapse
You are most welcome, thank you for the comments.
As a matter of fact, you can do this in this (new v1.2) version:
1. Press menu key
2. Select Preferences / Settings
3. Select Input Checksum (in the MD5 / SHA1 Comparison middle section)
4. Type (lol) or (more likely ) paste the checksum to be compared
5. Press back key to return to the main screen
6. Select your file and long-press the filename and select the appropriate checksum operation
7. After the checksum is computed, you'll get a pop-up indicating the status of the comparison of the newly-calculated checksum with the one you inputted in the menu
You can also check the Display Comparison Info checkbox to have the app display a pop-up message regarding the checksum comparison of the last two MD5 or SHA1 checksum comparisons that you perform. This would be helpful for checking two file successively.
Cheers and thanks again!
No, thank you, you did a great job of making a multifunctional app. Job well done
Sent from my ADR6300 using XDA App
v1.3 just published to the Market
All,
Just released version 1.3 to the Market. Nothing major--just some more things on the to-do list that I finally figured-out how to do.
version 1.3 - 2-Feb-2011:
- now supports SHA-224, SHA-256, SHA-384, and SHA-512 digest/checksum algorithms (along with the MD5 and SHA1 algorithms, these appear to be all functions that the MessageDigest API supports)
- will now also 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
Thanks and hope these changes are useful.
Cheers!
v1.4 of AFV (Android File Verifier) just uploaded
All,
I just uploaded my newest version of AFV to the Android Market.
Been working on this one for a while (sorry it took so long ).
Thanks again to bftb0 for suggesting the "launch / send" from other apps idea .
Hope you enjoy it!
Here's the change log:
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); use the "Send" function
- 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
AFV (Android File Verifier) v1.6 just published to the Market.
Change logs for v1.6 and v1.5:
[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)
Cool App
@scary alien : Cool app
Given you an award here
http://www.techofweb.com/google/verifying-android-files.html
techofweb said:
@scary alien : Cool app
Given you an award here
http://www.techofweb.com/google/verifying-android-files.html
Click to expand...
Click to collapse
Thank you very much!
I do very much appreciate the very nice article and your kind words.
Cheers!
version 1.7 just published
Change log (hope you enjoy!):
[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
Can I just say that I love your app, but I was a little disappointed that you don't post your apk anywhere. I was trying to help a user troubleshoot an issue on the CyanogenMod forums with not being able to get the Play Store installed, by verifying the md5sum of his ROM and gapps zips. I wanted to just send him to this thread to download the apk so he could manually install it, but it is nowhere to be found (including your google site page). Would you consider adding it as an attachment to this thread for those times that people can't get on the Play Store and need to use the app?
bassmadrigal said:
Can I just say that I love your app, but I was a little disappointed that you don't post your apk anywhere. I was trying to help a user troubleshoot an issue on the CyanogenMod forums with not being able to get the Play Store installed, by verifying the md5sum of his ROM and gapps zips. I wanted to just send him to this thread to download the apk so he could manually install it, but it is nowhere to be found (including your google site page). Would you consider adding it as an attachment to this thread for those times that people can't get on the Play Store and need to use the app?
Click to expand...
Click to collapse
Excellent suggestion, bassmadrigal and thank you for the kind words .
I've updated the OP with the v2.0b version that's currently available on the Play Market.
I'm actually up late working on a tweak to the app that will support the auto-verification of MD5 checksums in .tar.md5 files from a I request I received Wednesday. I hope to have this new version posted (and the OP updated) in a few days.
I'll also upload the Legacy version of the .apk here in a few minutes for those on older versions of Android.
Cheers and thank you again!
-SA
Version 2.1 just released
Just updated Play Store (and OP of this thread) with new v2.1 version.
Enjoy!
Thanks,
-SA
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)
I would really like to see a push for the sha-2 algorithm instead of md5 since its is subject to attack and they have found to create two files with same checksum ( https://en.wikipedia.org/wiki/MD5 ).
I am uncertain as to why the push for sha-2 checksum in the android community has not been taken up, instead of we rely on an 18 yr old algorithm that is subject to attack.
I think the main gist of publishing a MD5 and SHA1 digests for a file is not strictly for security or secrecy reasons but rather as one means of providing a way to help verify / validate the integrity of a downloaded file.
Certainly using a less vulnerable, stronger, more robust checksum is always desirable, MD5 and SHA1 sums are probably here to stay for a while (although I must admit to remembering the widespread use of CRC-16 and -32 in the not-too-distance past (well in the '80's anyways )).
Also, being aware of the file's known / expected size and the download source's author is helpful in vetting it's pedigree and authenticity.
Caveat emptor, etc. .
Great app...
Discontinuation Notice + Source Opened!
This project is now discontinued, as I have moved on to Android 4.X (ICS) which has perfect built-in RTL support.
I will still provide basic support as much as I can, but if your device has it, I recommend you move on to ICS as well.
If you wish to continue working on this project and improving, you have my blessing (as long as you credit me, of course).
Source code is available here, but be-ware: it's an undocumented, unorganized mess.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Android RTL Auto-Patcher
Version 1.5
The Problem
It's a well known fact that while Android has Hebrew and Arabic fonts, it has a problem with Right-To-Left alignment. The problem: It doesn't exist.
Sure, MOST programs display text correctly, but mix text and numbers in the same line and you'll get reverse numbers (123 appears as 321), and in SOME Google apps (like Gmail and Maps) the words themselves are reverse (so 'apple' appears as 'elppa').
The Old Solution
There is a solution for this, however you have to create a separate patch for every build, because the patch changes files in the build's framework. It's a relatively easy process, but for people who change builds constantly, it can get tiresome.
This Program
This program detects if a build is compatible with the patch, and if so - creates it almost automatically and install it back to the phone. A process that took about 10 minutes to complete before and required some knowhow, now takes only seconds and requires almost no prior experience!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ProTools
The ProTools are a collection of tools that will allow you to patch ROMs manually either directly to ZIP files, to the phone, or to framework files. It will also allow you to push, pull, extract and manipulate files to and from ROMs of all kinds, with great flexibility and ease!
Compatibility
This program is intended for use with custom DEODEXED roms of Android versions 2.1 and above. The program will inform you if your build is not deodexed.
The program will allow you to either push the fix directly to the device or flash via recovery.
WARNING: Some 'squashedFS' builds have been reported not to be compatible, and the program can not - at the moment - detect those!
Warnings
This program is in Beta stage!
Many features have not been thoroughly tested and error handling is far from perfect.
It may give some errors, crash or stall - at which point I ask that you please send me your log.txt (to find it, click 'About' and then 'Locate Log') or as an upload in this thread.
I do request - however - that you try to be as specific as possible regarding your build, your computer, and what caused the problem.
Also, if you include the log here, please enclose it in 'code' tags.
Requirements
You MUST have Microsoft .Net Framework 4 installed for this to work.
You will also need the latest Java Runtime Environment
You must also have the ADB drivers already installed:
In Windows Vista/7, just connect the phone and let Windows Update do it's thing.
In Windows XP, you need to manually install the drivers available here.
ADB itself comes with the program, so you don't need that.
How to use
If available, boot into recovery (recommended for non-rooted devices!)
Connect your phone to USB and make sure the computer recognizes it
Run the program, and select 'Test Connection'
After connection has been made, if the build is compatible - select the correct Sense version. The program WILL attempt to auto-detect, but it's not 100% reliable, so please confirm that the program detected correctly
Select distribution method:
Push to Device (Recommended) - does simply that, the program will attempt to automatically patch the phone for you.
Create ZIP - creates a ZIP file that's flashable through Recovery (Clockwork Recovery Mod). Will also offer you to save the ZIP on the SD card (doesn't even require mounting USB).
Show File - will just show you the patched 'framework.jar' so you can do whatever you want with it.
Select any additional options you might be interested in (Gingerbread keyboard, for example - is a fixed Gingerbread keyboard with fixed Hebrew RTL that is compatible with the patch the program installs. It should work on 2.2 devices as well, and replaces the stock Android keyboard).
GO GO GO!
Reporting bugs
Please be sure to provide the name and type of your build when giving feedback or reporting bugs. For better bug-squashing, please also provide your log.txt file, which you will find in the application's directory.
Also, even if you experienced no bugs, your logs will be appreciated.
Finally, if you put the the log content in your post, PLEASE encode it with 'code' tags.
If you have any additional non-bug-related questions, feel free to ask them in this thread. I will do my best to improve this program as time goes by.
Thank you, and good luck!
Download
Always available here:
Changelog, Known Issues and Planned Features
Changelog
1.5 - 14/08/2011
Advanced build numbers to 1.5 due to massive advances in the program.
Added global error handling - might not solve ALL problems, but will hopefully help avoid unlogged crashes.
When "Install Gingerbread Keyboard" and "Create Zip" are both selected, it will now also install the keyboard on the Zip.
The program will now also try to mount sd-ext in addition to system before patching (as will the flashable Zip).
When patching fails, the program will offer you to save the patched file to your computer for use with ProTools.
In the 'About' window, added the option to find the log file on your computer (for easier error reports).
Other minor undocumented improvements.
Completely overhauled the ProTools:
Offline Patching: Allows patching ROM Zips or 'framework.jar' files directly.
Manual Operations: Pretty much what ProTools was before, except with an easier straight-forward interface and with the option to operate on a ROM Zip file, from your phone, or directly from a 'framework.jar' file.
Added the option to manually push or pull anything to or from anywhere (with specific buttons for 'framework.jar', 'framework-res.apk' (for theming) and 'build.prop'.
Added the option to manually patch the Keyboard to the phone or the a ROM Zip.
1.1.2 - 20/07/2011 - minor update
Improved Sense 3.0 Detection
Updated build detection strings
1.1.0 - 14/06/2011
Fixed critical interface bug that caused the operation compelte / restart prompt not to appear if 'Push' was selected.
1.1.0 - 14/06/2011
Removed support for SD/SDRAM based builds
Instead, created three distribution methods: Push file, Create flashable zip or just Display file
Flashable zip will be flashable via recovery, and will attempt to push itself to the device's SD card.
Version 1.0.0 Beta
Build Detection:
Improved build properties detection
Vastly improved Sense detection mechanism
Sense versions now distinct by Sense version
Added Sense 2.1 (Gingerbread) support
'Pro Tools' (Beta) - Every single function of the patcher can now be called on seperately and manually.
Changed versioning scheme. Version 1.0.0 to be assigned.
Updated core framework files (fixed a lot of stability issues in Sense2.0 builds)
Planned Features
I plan to seriously improve the RTL fix itself in the near future, but since I lack the knowledge to do so myself, I'm waiting for some new methods currently under development by the excellent devs at iAndroid.co.il to be released.
I do plan to release to program's source code eventually, it's just such a mess at this point that I'm more ashamed of it than anything else.
I also plan to include a logcat monitor. Because the patch causes the phone to rebuild dalvik cache, first boot after patching often takes a VERY LONG time, and some users wrongfully assume their phone is frozen. I plan to include a logcat monitor that will hopefully know to differentiate between bootloops, errors, and dalvik rebuilding, so users can tell if their phone is actually frozen or just working. If this works, I might release this as an actual separate program.
Known Issues
Build 1.1.0 - If 'Push' is selected, when patching process finishes, no message is displayed and the program doesn't prompt to restart. - fixed in 1.1.1
There is hardly any error handling in the ProTools section. If they are called with no device available, it MAY freeze/crash the program. Will be fixed in upcoming release.
Fixes for Squashed filesystem roms do not work! Mostly.
Error handling is STILL utter ****e, may give unexpected errors (or not at all and just fail altogether).
If HTC Sync is installed and active, stuff may go nuts all around (as of 0.0.5 this is detected by the program and warns user).
Credits
Program and Graphics created by Elad Avron using Visual Studio 2010 Express.
ZIP Functions created by Elad Avron using free libraries from the IC#Code group, available at http://www.icsharpcode.net/opensource/sharpziplib/
Special thanks:
From HTCAddicts.com: Ronenpg, Ohect.
From XDA-Developers.com: TheAgent1982, silverbluem, mdeejay and the entire HD2 dev crew
From iAndroid.co.il: Classicaldude (Original fix, the hero of RTL!), Dudyk (Original fix), rasmux (Modified fix), Liavk1 (partial SenseHD fix), Avicohh (Gingerbread Keyboard), N1Man (RTL fix for Gingerbread Keyboard).
Keyboard fix by Avicohh and N1Man (from iAndoird.co.il)
If it will work man i'll give you a real big THANKS!
Just tried it V 001 , successfully connected + fetched framework+modified then pushed classes back....
log attached
PC - Win7 + net 4
LeoAndroid - Desire Z ....
Device restarted, passed the first splash (hTC) screen, took very long on the animation one, then started !
Changes :
1-No right side line alignement..
2-Numbers are still wrongly placed..
Tested and it workes!
Got an error in middle of the prosses but in the end it did what it was supposed to do.
Sent from my HTC HD2 using XDA App
congratulation
Congratz of your new Project!
I will give it a shot as soon as i can
my teset here ..
this is my test in the log file attached
thx
I appreciate your efforts
reverse numbers problem still exits
big thanks
Voffchik said:
Tested and it workes!
Got an error in middle of the prosses but in the end it did what it was supposed to do.
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
Thanks
Can you send me your log.txt?
I'd like to see what the error was.
Sup3r said:
I appreciate your efforts
reverse numbers problem still exits
big thanks
Click to expand...
Click to collapse
Can I get build type and log file please?
Thank you
jaguaralani said:
Just tried it V 001 , successfully connected + fetched framework+modified then pushed classes back....
log attached
PC - Win7 + net 4
LeoAndroid - Desire Z ....
Device restarted, passed the first splash (hTC) screen, took very long on the animation one, then started !
Changes :
1-No right side line alignement..
2-Numbers are still wrongly placed..
Click to expand...
Click to collapse
The log indicates that you did everything right and experienced no errors, so there are two things I'd like you to try:
In the 'Toolbox' dir in the app dir, the leftover files from the creation process are left. Try pushing framework.jar manually to the device.
If that doesn't work, try putting 'classes_new.dex' in 'framework.jar', renaming it to 'classes.dex' (thus replacing the old one), and repeat step 1.
If that doesn't work something went wrong in the patching process itself, i.e. my source files aren't good for your build (they should be), the compression failed, or any step in between. Let me know if the leftover framework.jar and classes_new.dex solve the problem, and we'll try to isolate the problem from there.
Thank you all for helping
Thank you
Thank you very much for your great work.
The alignment works great for Arabic, but the thing with Arabic is that letters need to be connected with each other when they are in one word. From what I gather, this means needing to change stuff in libskia.so and libwebcore.so (both in /system/lib/).
For more info, you can check out the efforts to add Arabic support for many Android devices at http://ardoid.com/
NSider said:
The alignment works great for Arabic, but the thing with Arabic is that letters need to be connected with each other when they are in one word. From what I gather, this means needing to change stuff in libskia.so and libwebcore.so (both in /system/lib/).
For more info, you can check out the efforts to add Arabic support for many Android devices at http://ardoid.com/
Click to expand...
Click to collapse
Yes, I understand it's a problem with a lot of software, not only Android.
I will try to implement patching of Arabic characters in the future, once the program has a more solid base.
this is my log
my build is : MDJ's gingerbread CyanogenMod 7 v. 2.1 [A2SD+][GRH78][RMNET][Kernel: MDJ S10.2 OC
wating the Arabic characters fix
thanks :0
Ambious said:
Thanks
Can you send me your log.txt?
I'd like to see what the error was.
Click to expand...
Click to collapse
I sent it yesterday via PM
I sent the log file + screenshot
U said u'll look in to it
Sent from my HTC HD2 using XDA App
Voffchik said:
I sent it yesterday via PM
I sent the log file + screenshot
U said u'll look in to it
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
Right, sorry, my bad
I worked around your reported error in v.0.0.2, it was a little oversight I had in interface design.
Thank you for the report
Sent from my Android HTC HD2 using XDA App
Sup3r said:
my build is : MDJ's gingerbread CyanogenMod 7 v. 2.1 [A2SD+][GRH78][RMNET][Kernel: MDJ S10.2 OC
wating the Arabic characters fix
thanks :0
Click to expand...
Click to collapse
Thank you for the log.
From the log it seems like there were no errors and that everything went as planned. I'm using the same build as you, so I know it's compatible.
What I'd like you to try, if it's not too much hassle, is this:
In the 'toolbox' dir in the app dir, there are leftover files from the process. Push 'frameowkr.jar' to your device's "/system/framework/" using:
Code:
adb push framework.jar /system/framework/
and reboot.
If that solves it, the issue was with the push command (I currently have no method to actually detect if it was successful or not, I hope to fix that in future version).
If even that doesn't solve it, open 'framework.jar' using any zip/rar program, delete 'classes.dex' from it, insert 'classes_new.dex' (from the toolbox dir) into the 'framework.jar' file, and rename to 'classes.dex'. Push to the device, restart, and try again.
If you don't mind doing those things, it would help me greatly to detect where the patching process failed.
Thank you so much, and I promise to include Arabic fix as soon as the program structure is solid enough!
Tried V 002
PC - Win7 + net 4
LeoAndroid - Desire Z ....
Log attached
changes
Nothing
jaguaralani said:
Tried V 002
PC - Win7 + net 4
LeoAndroid - Desire Z ....
Log attached
changes
Nothing
Click to expand...
Click to collapse
Yeah, well, v002 changes nothing in the process, only the interface.
I'd like you to try, if not too much hassle - to push the framework file manually and reboot.
If that doesn't work, try to put 'classes_new.dex' into 'framework.jar' and rename it to 'classes.dex' and push framework.jar again.
If any of that works then I can narrow down the issue.
On another note, I got reports from other people using DesireZ that the process worked for them, so I know it's compatible, it's just a localized issue.
This doesn't specifically belong to NAND development.
Moved.
(Regardless of that, it's a wonderful project).
Outdated. Linux version avaliable here. (xda)
Hello,
Small Application for decoding - encoding APK files.
This version:
- Basic decoding and encoding
- List box functions
- No command line knowledge needed
Please:
- Leave feedback
- Report bugs
- If you really want to, say thanks.
To come:
- Android Suite (Many functions in one)
Computability:
- Windows - PASSED (Windows XP/Vista/7 - Java PATH needs to be installed)
- Linux - Untested but could possibly work after next update (Wine will be REQUIRED).
Current bugs:
- Spaces in filename and folder name causes program to not de/encode.
Also check out another project I am working on here
MOVED TO HERE
Thanks, looks very good. I will try
moved to
http://forum.xda-developers.com/showthread.php?p=21286401
This one will not be updated now.
Hello everyone,
This is the thread of TotalAndDroid (www.blagoev.com/totalanddroid/) - The most advanced Total Commander file system plugin for Android devices.
If you are using Total Commander and want to use your android with it, check it out. Please leave feedback and suggestions for improvements at the site or here in the forum.
TotalAndDroid
v4.0
New: Support for dynamic wireless connections. (opening \\TAD\IPort will try to connect automatically the device)
New: Support "reboot to download" and "Power off" commands
New: Support "hot reboot" command
New: "Screenshow.png" special file will capture device screenshot (Can be copied, or opened in lister with F3)
New: Support custom shell commands from TC command bar.
Fixed: Date and time of pulled files from device
Fixed: Connecting to devices that has $ instead of # as shell suffix
Fixed: Moved to synchronous sockets by default (some computer configugrations reported socket errors when async communication)
Fixed: Use TAD when device is in recovery mode
For more info check this news page
v3.5
» New: Support for background operations
» New: Huge, performance improvements in all operations
» New: Vast memory optimizations all over TAD plugin
» New: Faster download and upload of files and directories by reusing commmunication channels for file operations
» New: Introduced TAD context actions.
» New: "Remove all files and directories" context action
» New: "Remove all selected files and directories" context action
» New: "Get directory sizes" context action. Shows total directory size (busybox required)
» New: File listings are much faster now with very few resources consumed
» New: Make directory is much faster with single create operation on all devices and any directory depth
» New: Reboot device, Reboot to bootloader, Reboot to recovery commands in .TAD folder
» New: TotalAndDroid update checking.
» New: ".Update TAD" special file is shown when new version is available. (Navigates to download page)
» New: ".TAD Options" special file so options page is more easelly discovered.
» New: ".Navigate to root" special file to ease going to TAD root when device is not found but path was preserved from a previous session
» New: ".Hide directory sizes" special file (or do a CTRL + R to hide directory sizes)
» Fixed: Multiple instances of TC with TAD loaded to work side by side
» Fixed: File date and time to be correct after upload
» Fixed: File permissions to be correct after upload
» Fixed: Better handling of device offline status
» Fixed: Create directory to succeed if the directory is already present
For more details and description of the new features check this News page
v3.0
» New: x64 in-proc support.
» New: Full x64 and x32 on all Windows OSes XP, Vista, Win7, Win8 on all TC versions installed and portable.
» New: Change file permissions
» New: Applications listing (in .TAD\Applications folder)
» New: Applications uninstall (enter or delete from .TAD\Applications folder)
» New: Added kernel log messages support (dmesg)
» New: Added .TAD folder in root of every device for TAd specific functionality
» New: Added Windows 7 style dialogs
» New: Custom device names for USB and Wireless connections.
» New: TAD options
Added TAD icon and version information
Added TAD options showing plugin version number.
Added TAD options to restet settings
Added TAD options to reset device names
» Fixed: Simplified Application installation experience
» Fixed: Moved bugreprot, logcat, dmgesg to .TAD special folder
» Fixed: copy/move on same device.
» Fixed: some files missing in listings
» Fixed: Push and pull to handle file operations better
For more check here
Cheers,
blagoev
v2.0
» x64 bit support (Total Commander x64 8.0 or above)(out of process)
» Added support for installation of applications
» Preserve last used IPort when wireless connect
» Support read-write to /system
» Automatically connect as root, where possible
» Updated adb tools that come with the TAD to latest version
» Fix: A bug when file size is 0 when reporting progress
» Fix: Listing of /dev folder
» Fix: Newly connected devices are not shown on \\TotalAndDroid root refresh
more on (TotalAndDroid 2.0)
Thanks,
Blagoev
Excellent plugin. Way better than the mtp plugin from ghislers own page.
Sent from my Galaxy Nexus using xda premium
TotalAndDroid
Glad you like it.
It's now available on (http://www.totalcmd.net/plugring/TotalAndDroid.html)
If you have any questions or suggestions. Write me a message.
Blagoev
Nice work!
But why is it not working with Total Commander x64? Any plans to support it in the near future?
x64 version
Definitely. When I started doing it there was no x64 version of Total Commander. Days before I finished Total Commander 8 was released supporting x64.
There is such ticket in the uservoice totalanddroid forum. So vote there and add more ideas if you have any.
Thanks,
Blagoev
TotalAndDroid now published on totalcmd
TotalAndDroid is now published also on totalcmd net.
In addition there is a forum thread on the official Total Commander forum.
Check there as well for comments and discussions
Finally someone wrote this important plugin
Thank you very much.
TotalAndDroid
Its always good when its useful. Tell your friends about it
Cheers,
Blagoev
Is it somehow possible to map the smartphone to a drive letter?
works fine on my ZTE Skate build Mokee.
map folder
tramp20 said:
Is it somehow possible to map the smartphone to a drive letter?
Click to expand...
Click to collapse
No I don't think so. Still You can drag a folder in the TC toolbar and connect to it directly without navigating to \\totalanddroid\xx\yy
Cheers,
Blagoev
zte skate
chensa said:
works fine on my ZTE Skate build Mokee.
Click to expand...
Click to collapse
Same here. I am using ZTE Skate as well. (Thanks to tilal6991 and others at ZTE Skate Modaco forum)
Is it possible to show the file date too?
Your plugin works even with Bluestacks emulator.
Works fine here too. Just amazing!!!!!
As everyone, I'm just missing the ability to mount it as a drive letter and file date but otherwise everything is perfect.
One point anyway, it seems that I have found a small issue using it. On my colleague Note, I mounted my device on TC two panels and tried to move one folder (rerware) from one panel to the other. In this folder there were two folders and files in the second folder only. Everything went fine but I did not find the files in the destination.
On my Note, I can't even copy files from it to my computer (Win XP - 32 bits).
If someone could try to reproduce it in order to find if this is a bug from the plugin, from my Note or from me
tramp20 said:
Is it possible to show the file date too?
Your plugin works even with Bluestacks emulator.
Click to expand...
Click to collapse
File dates will be fixed.
Thanks for checking the Bluestacks emulator. Haven't tested that yet. But will update the web site if it works
Cheers,
Blagoev
move folder
The_Steph said:
Works fine here too. Just amazing!!!!!
As everyone, I'm just missing the ability to mount it as a drive letter and file date but otherwise everything is perfect.
One point anyway, it seems that I have found a small issue using it. On my colleague Note, I mounted my device on TC two panels and tried to move one folder (rerware) from one panel to the other. In this folder there were two folders and files in the second folder only. Everything went fine but I did not find the files in the destination.
On my Note, I can't even copy files from it to my computer (Win XP - 32 bits).
If someone could try to reproduce it in order to find if this is a bug from the plugin, from my Note or from me
Click to expand...
Click to collapse
Mounting is not possible to do. Can you mount an ftp folder in Total Commander ?
The move folder should be working fine. There is some other thing preventing it from working. Will need more investigation. If you are able to share more details what is the folder structure and what filenames you are moving. I may be able to find the problem.
For the Note. Is this a rooted device?
Thanks,
Blagoev
sry but i m nt able to see any file to download
Sent from my HTC Explorer A310e using Tapatalk
link
aamir0701 said:
sry but i m nt able to see any file to download
Sent from my HTC Explorer A310e using Tapatalk
Click to expand...
Click to collapse
See the first post for a link
just updated it.
Cheers,
Blagoev
blagoev said:
Mounting is not possible to do. Can you mount an ftp folder in Total Commander ?
The move folder should be working fine. There is some other thing preventing it from working. Will need more investigation. If you are able to share more details what is the folder structure and what filenames you are moving. I may be able to find the problem.
For the Note. Is this a rooted device?
Thanks,
Blagoev
Click to expand...
Click to collapse
blagoev,
You are right, we can't mount an FTP folder in TC, I was just hoping you had a potential magic trick to show us
Now on the bug thing, I have faced a lot of trouble copying files from my (rooted) Note to my PC. At first I thought it was mine (corrupted fs or something like that) only as it was working fine with my colleague (rooted) Note, but I did some more test with his and I started to face the same king of issues.
I currently did not have much time to do tests but I will next week. If your plugin can generate some debug files, I will be able to do structured tests next week to find where this issue comes from.
You can pm me a link for a debugging version if you like.
Maybe a list of files and folders that are folder and what you are trying to copy would do?
Thanks,
Blagoev
Description
File patcher to enable signature spoofing on Android (especially useful for projects like microG).
Success rate is now near 100%.
Download
Tingle (git version)
NOTE: Currently there isn't yet any release, only the git version.
Credits
@moosd (thanks for Needle)
@MaR-V-iN (thanks for the help)
@AnonVendetta (thanks for testing)
@Aaren11 (thanks for testing)
@ChristianTC (thanks for testing)
@_Kosmas_ (thanks for testing)
XDA:DevDB Information
[TOOL] Tingle - Android patcher, Tool/Utility for all devices (see above for details)
Contributors
ale5000
Source Code: https://github.com/ale5000-git/tingle
Version Information
Status: Testing
Created 2016-08-13
Last Updated 2017-11-04
Reserved
Reserved
@ale5000: I got the patch to work, I had to deodex my system APKs and JARs. Then I applied the patch. Everything works so far.
However, on a friend's LG D415 running 5.1.1 SlimROM, it fails. Phone still boots but MicroG says signature spoofing isn't enabled. Will post a log later.
Edit: I meant to say that my friend is running SlimROM v6.0.1 Marshmallow, not v5.1.1 Lollipop.
I also just tested your patch on my Galaxy Tab 2 7.0 (SM-P3113) running SlimROM 5.1.1. The patch works flawlessly. But I had to deodex it too. My friend's phone is already deodexed, not sure why it didn't work on his device.
AnonVendetta said:
My friend's phone is already deodexed, not sure why it didn't work on his device.
Click to expand...
Click to collapse
If you can, please post the original framework.jar so I can make some tests.
Here is his unmodified framework.jar.
I'm running the latest (7/8/2016) version of XenonHD on my LG G3 D855 for the past few days, and whereas I had no problem using needle to patch the build from a few months ago - this latest update throws an error even when using tingle.
I'm fairly certain I've set everything up correctly - I'm using my laptop at the hospital rather than my regular terminal, but I've installed Python 3, linked it in the PATH environmental variables updated Java RTE and made sure that I have working ADB drivers. Needle runs fine, pulls the framework and modifies it, but encounters an error. (I can post screenshots if necessary)
I've attached my unmodified framework.jar to this post, and any help possible would be most appreciated
The ROM is supposedly deodexed, so I haven't tried that yet, to be honest it isn't something I've ever done before or would know where to start with.
View attachment framework.jar
View attachment framework-res.apk
I have found the problem, I need some time to make some tests and trying to fix it.
In the first option FileNotFounError: [WinError 2]
In the second option comes off as all done but framework.jar modified it has the same MD5 that he framework.jar original
I leave the framework.jar, Thank you very much for your time
I'm stupid, I was going to Settings/Applications and mark all permissions and then I was going to
Settings/Privacy and mark all the permissions that were not marked and these permits are Disable app Wi-Fi usage and Disable app cellular usage, he was removing internet access.
I'm stupid.
Sorry.
The only thing that not works is the weather widget from Cyanogenmod 13, everything else works, synchronization contacts, calendar, Chrome and location for cellular it works.
Thanks for the help.
ChristianTC said:
In the first option FileNotFounError: [WinError 2]
Click to expand...
Click to collapse
What does it say if you run manually this?
Code:
adb devices
adb identifies the device as: 4df785271f4440c7
And for disconnect the device of the USB I have to kill process adb.exe from the Task Manager from Windows.
@ChristianTC: Can you please compress all the content of the folder of the patch with included your adb as you use it and put it here so I can try it directly?
ale5000 said:
@ChristianTC: Can you please compress all the content of the folder of the patch with included your adb as you use it and put it here so I can try it directly?
Click to expand...
Click to collapse
Here it is, I have this folder in C:/adb
@AnonVendetta and @Aaren11
You have both the same issue, the framework.jar you have contains 2 dex and the file to patch is inside the first dex but patching it exceed the limit of 64k methods (limit of a single dex) and so it fails, I have added a workaround in my code to move some methods in the second dex (that isn't full) so now it should work but always do a backup before use the patch to be sure.
Please report back if everything works.
@ChristianTC
- For the first option: I was only searching for system wide adb, it never use adb in the folder of the script; in the latest version it search adb also in the tools folder so place it here (after updating Tingle).
- For the second option: This option was added recently and the modified file was only kept in the temp folder, now it is copied to the output folder.
Please report back if everything works.
Tells me that All done but framework.jar modified It has the same MD5 that he framework.jar original.
ChristianTC said:
Tells me that All done but framework.jar modified It has the same MD5 that he framework.jar original.
Click to expand...
Click to collapse
It is really strange.
Try these steps:
1) Please make sure you have the latest version of Tingle (all files and folders, not just patch.py) by clicking "Clone or download" and then "Download ZIP" in the GitHub page.
2) Make sure to extract it in a user writable folder, like Documents; if you extract it under "C:\Program Files" then the patch may not have write permissions to write the file.
3) The patch read the file inside the input folder but write the final file in the output folder so it never overwrite the original file.
4) In case it still do not work open the command prompt with "Run as administrator" and then run the patch from here (it shouldn't really be needed but as last resort it can be tried).
One of the steps should hopefully fix the problem, please report back what happened.
@ale5000: Cancel my request, I caught my now ex-friend trying to steal from me, so I no longer have an incentive to help him with patching his framework.jar. However, if you would still like to provide a technical explanation as to why the patch didn't succeed, then I'd like to hear it anyway.
Sorry for the wasted time.....