[TOOL] APK Batch Installer (Install & Backup, SD, Wifi, Data, SMS) - v1.5 (6/3/13)
-= APK Batch Installer =-
This is a little something that I wrote on my free time, and I wrote it mainly because I kept on flashing my ROMs often on my android phone, which led to a lot a factory resets.
It was a lot of pain getting the applications I had previously installed back in, even if I had backed up their APK's before using tools like AppMonster. Batch installing was a bit difficult with errors sometimes cropping up and some apps not working on ICS, and so that pretty much drove me to write... this.
A simple little windows app that is packaged with adb.exe, and if you're so nice as to give it the directory as to which all your apk files are stored (I keep local backups on my pc for mine), then it'll scan that directory for apk files.
From there, it's just checking and ticking the apps you want to install and clicking next
And if things go right It should automatically take you through the installation
---- *ROOT* Batch Backup APks ----
As of v1.02 there is a backup function
Simply click on the 'Batch Backup APKs' radio button, and fill in your options in the entry fields
And wait for the application to run through your device, backing their APK's into a local directory.
It scans if you have applications installed to your SD Card as well...
And is so kind as to rename your apk's based on their app names too
---- Installs to SD Storage ----
As of v1.1.1, the Install to SD function has been revamped, such that after you tick 'Install to SD' and choose which apps to install...
An additional dialogue box will pop up, allowing you to choose which of the chosen APKs are installed to SD.
From there, the installer will update you on the progress of installations, and tell you which applications are being installed to SD.
---- *ROOT* Wireless ADB Connections ----
As of v1.2.0, as per suggestion by thewarhawk
, and after an extensive amount of testing, APK Batch Install Tool now has support for Wireless ADB Transfers!
Simply tick on it on the main page, and get ready your IP Details from your favourite Wireless ADB software
After that, fill in the details and click "Establish Link" :3
Of course, if you throw it rubbish links, it'll hate you for it, and give you a sad android face.
With a proper link though, one that points to an actual device already set up, a happy face!
After that, it's all smooth sailing as the application sends or backs up your APKs
---- *ROOT* App Data Backup & Restore ----
After a LOT OF BLOOD, SWEAT, TEARS, and Nearly going crazy with all of this, I finally present to you peeps... after v1.3.0, the ability to backup and restore app data. NOTE, that the data is stored in a format that is not compatible with Titanium or any of those other applications
. The backup and restore are currently in it's simplest form, in that you have to back up data, in order to restore it
. At the moment, based on the way APK's work and how I can pull information off them, you have to back up all installed apps on your device before you can individually select which ones to pull data from.
Once that is done, when installing APK's back onto your device, when Data Restore is flagged, the program will look to the directed path for a SubFolder called Data, that contains all the Data for the apps, in 7z format. From there, you can select which to restore to your device.
But enough Chit Chat.
If 'Backup Data' is flagged, then at the end of the backing up process, you will be presented with a screen to select which of the following backed up apps to back data for...
It's watching and waiting as the installer does it's work
On to Restoration! Should the 'Restore Data' option be checked whilst in install mode... then
After selecting which APKs to install (and which to install to SD), you will be presented with this fine screen that asks you to choose which apps to restore data for (only apps with data are shown)
At the end of the installation process, the data of the selected apps will be restored onto the device
---- Batch APK Renamer ----
v1.3.0a brings a small addition to the family, a bulk APK renamer, essentially a subdivision of what the backup function did
Simply Point to directory with Messy APKs...
Let It do the rest
---- Dedicated Data Backup/Restore ----
v1.4.0 brings, in the spirit of streamlining and speed, a dedicated Data Backup / Restore Section
---- SMS Backup/Restore ----
Also within 1.4.0, a newly added SMS Backup & Restore Section. This is highly experimental at the moment, and only works when going from ROMs of the same base (e.g. CM -> CM, Sense -> Sense, but not Sense -> CM)
-= Requirements =-
- A PC obviously :P
- Micro USB cable to hook your device into your PC
- USB drivers for your device (required for ADB installing)
- USB Debug Mode enabled on your device
- APK's backed up locally somewhere
- For APK backing up, Root is required!
- For ADB Wireless Link, Root is required for the Wireless ADB app on your device.
- For Data Backup & Restore, Root is required!
Universal ADB Drivers, may or may not work. Another alternative is installing PDANet.
-= Change Log =-
v1.5 - March 6, 2013
Migrated the system over to a Unicode framework, however unicode functionality has not been implemented yet. To be implemented in the next major release.
Updated to the latest version of ADB
Rewrote Info parsing section from APK files (Now works with & and ' characters)
Changed Install Section order to catch for errors better and work with & Characters
Lighten code/ removed unrequired headers
Added chown to SMS restore section
Changed permissions for pushed data to 751, 771
Added Data Ownership During Restore code for Increased compatibility
Changed permissions settings handling in data restore for increased compatibility
Changed shell root access permissions checking method
More error checks during restoration of data
Fixed retry error when installing apps
Removed data restore code that deletes existing folders. Should work with Android 4.2.1 now
Bugfix to the data restoration process where data restoration may not work the first time around.
Changed Captions of Data Restore and SD Install to proper wordings
v1.4.1 - August 6, 2012
Small error with backing up sdext2 folder (mostly cosmetic)
In some cases, when trying to gain superuser permissions, shell 'Permission Denied'. This error is now caught and prompts the user to update their SU Binaries.
Following the changes above, the permissions fix button, as it's now made an automated part of installer (nearly all functions require root now)
Modified SMS Backup/ Restore procedures
Modified Data Restoration to clean existing data before restoring (May be potentially dangerous, thread on this new version carefully. I have done testing myself and have not run into any errors but I can't guarantee the same for you!)
v1.4.0a - August 2, 2012
Oops! SDExt2 App backup error! Forgot to add in 1 extra letter :| Fixed now.
v1.4.0 - July 27, 2012
Changed Radio Selection to Drop Down Selection for more options expansion
Dedicated Data Restore / Backup section
SMS Back Up & Restore - Experimental, thread with caution. Requires device reboot
Backing up data now works with Link2SD (SDext2)
Renaming now has the option to rename back to package names
Application now has direct link to donations (because this has been difficult to make, if you appreciate my work, pls donate :x)
3 Last Directories are now stored, accessible via a drop down box
System App Backup, accessible via APK Backup section
APK Installation display cleaned up and user is now notified of and encountered APK installation errors. [Success / Failure]
Changed text for permission fix to be slightly more descriptive
Counter for Data Backup was not counting properly
v1.3.0f - April 26, 2012
Application now remember's last used setting.
v1.3.0e - April 26, 2012
Fixed bug with latest versions that broke Wireless ADB. Wireless ADB now works with the paired device, even if there are other Android devices plugged into the machine
-Code is set up for installs to individual devices (in this case USB) in the event multiple android devices are connected to the machine.
-This should be the last small version before the next major version release
v1.3.0d - March 31, 2012
Button at end of Installs and Rename and App Backup with no Data now read "Close", "Data >" at the end of App Backup if Data is selected, and "Backup" on the Data Selection Page
-Changed "OK" on failures to Retries or Cancels, which means you don't have to keep re-running the application if your device decides to misbehave the first time, or half way through.
v1.3.0c - March 29, 2012
Urgent issue with Data Restore not working in v1.3.0b fixed.
v1.3.0b - March 20, 2012
Application now remember's last used directory.
Data Restore would run multiple times on restore, while not really an issue, made the process longer.
Data Restore Counter would not count properly.
Issue with APK's with & in their name, and installing them from there. Now the word "and" is used instead. Display still show's & however.
Issue with Data Restore causing some app's to crash due to lack of permission to access them. These are now set to full access, however now the data folder is locked back up after use.
-Various tweaks in all pages to show more information, in specific the concept of right clicking for more options.
-Pushed more prompts into the system which allows user to retry rather than to quit and to reset everything again.
v1.3.0a - March 14, 2012
Batch Rename your APK files
For those of you who have back ups already and would like to tidy them up.
-Set the install flags to an additional '-r'. Helps to update older apps and reinstall some broken ones perhaps. Also overwrites newer with older. You might want to see if the data still works fine after.
v1.3.0 - March 12, 2012
Backup & Restore Data. Extra options are written into the main page, and from there, additional pages will appear as the program goes along. Tested on my Transformer Prime to my mi410 data migration. Requires Root access.
-Several Code Optimisations and bug fixes.
-Packaged with a command line version of 7z for packaging and extraction.
v1.2.0 - March 11, 2012
Now supports Wireless ADB transfer. The main page now has a check box to specify transfers via Wireless ADB (aka Wireless Link). Ticking the box will change the next page into the wireless connection page. You can not continue unless a connection is established with a device (shown by a happy android). Otherwise, a sad android face will be shown. Wireless ADB Works for both installs and backups.
-Cleaned up and shortened the wording for permission fixing to just "Fix Permissions."
*NOTE: For Wireless Transfers, the speeds are slower, so do expect to wait a bit longer.
v1.1.1 - March 10, 2012
When installing APKs and if 'Install to SD' is checked, after selecting which APKs to install, the following page will ask which to install to SD. Right clicking and ticking 'Select All' will do just that.
Added a link to this forum on the main page, because that's a feature :P Easier visits to the official forum.
-Rewrote the functionality code page for the post selecting APKs to install page to make way for additional features.
-Lightened up on a bit of code, small optimisations resulting in a slightly smaller filesize.
-Cleaned up Installation page just a little, with more descriptive information.
v1.1.0b - March 10, 2012
When doing an APK backup, the tool will now check if you've installed some of your apps to SD, and if so, it will back up those as well
v1.1.0a - March 9, 2012
-Packaged with an older version of adb; The newer version (2012 dated) that I had did not work with some devices and was buggy. Tested to be working on:
ASUS Transformer Prime
Huawei Ascend X (Ideos X6/ Foxconn Fb0 variant)
Samsung Galaxy i7500 Spica (One of the very first android devices I know)
Sony Xperia Arc S
-ReWrote Permissions patching code to fix bugs and push out more useful information
-Set adb to shut down server before each adb command now (makes sure that the adb version running is the one packaged with the tool)
v1.1.0 - March 9, 2012
-Framework for installer had to be re-written for certain additions hence major version bump
-Added "Fix Permissions of /data/app" button that can solve "0 file" errors. Use at your own discretion
-Added ability to install to SD Instead for devices with smaller internal memory.
v1.0.2 - March 8, 2012
-Now has ability to back up all user installed APK files in device onto a local directory
-Automatically renames these files to their App names and versions
-Bug fixes where selection page wouldn't reset itself when hitting back
-Minor Text Changes
-Kills adb.exe when done
-Later versions may have the ability to choose apps to back up, but that's if that's possible.
v1.0.1a - March 8, 2012
-Subversion that includes aapt.exe to display the app name and version instead of filename.
*WARNING* Will load slightly longer than version 1.01 due to the need to dump each apk for it's name and version.
v1.0.1 - March 7, 2012
-Minor cosmetic changes to the installer text, no changes to functionality
-=To Do List=-
-In some cases, trying to gain superuser permissions with 'adb shell su' returns 'Permission Denied' even with Superuser installed (update SU Binaries).
-Some applications link apks to another folder, haven't been able to replicate this, but when I do I'll make the changes.
-In the larger scale of things, rewrite the whole program for more flexibility.
-Some functions require root.
-Application doesn't like filenames with strange characters, hence some entries will look duplicated, but in fact their name is just the same as the one above it. Display error that doesn't affect functionality.
-Some Applications don't work well with data backup and restore, these applications need to have their data wiped and re-set instead.
-Will not work with multiple devices connected (USB only, Wireless works fine).
-=Known Applications Which Don't Work Well With Data Backup/ Restore=-
*IMPORTANT* If you find that data restore or backup isn't working, try updating your SuperUser binaries. I encountered an issue where the application was unable to restore data despite having SuperUser installed. A Prompt for this will be added in future versions.
*WARNING* SOME FUNCTIONS REQUIRE ROOT AND HANDLE WITH THE ACCESS PERMISSIONS ON YOUR DEVICE. WHILE NOTHING SHOULD HAPPEN, I DO NOT HOLD MYSELF RESPONSIBLE FOR ANY DAMAGE WHATSOEVER OR VOIDING OF WARRANTIES OR AWESOMENESS (okay maybe this one) THAT COMES TO YOUR DEVICE. YOU HAVE BEEN WARNED! *Flips cape and walks away*
And somehow the capslock and bold key got stuck : D
I don't by any means claim to be a professional at this, and this is just a tool I developed for personal use, I just thought I'd share it here on XDA is all.
Sharing is caring if you found my tool useful, be sure to say thank you (or I will hunt you down and kill you) and if you'd like to see some changes (within my control that is) do tell me as well.
If you think that the work I'm doing is worthwhile, don't be shy to donate!
It would certainly help in buying my meals and paying my rent ; w ;