[Android Software Development] hamsteyr:
[TOOL] APK Batch Installer (Install & Backup, SD, Wifi, Data, SMS) - v1.5c (13/12/13)

-= APK Batch Installer =-​

WELL NOW, FEATURED ON XDA PORTAL, WHADDYA KNOW :D​

Hey Guys,

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 :D

---- *ROOT* Batch Backup APks ----

As of v1.02 there is a backup function :D

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 :D

---- 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 :D

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! :D

After that, it's all smooth sailing as the application sends or backs up your APKs :D

---- *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...

From there...

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)

From there...

At the end of the installation process, the data of the selected apps will be restored onto the device :D

---- 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 :D

Simply Point to directory with Messy APKs...

and....

Let It do the rest :D

---- Dedicated Data Backup/Restore ----

v1.4.0 brings, in the spirit of streamlining and speed, a dedicated Data Backup / Restore Section :D

---- 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 :D

- 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.5c - December 13, 2013

-Modifications: Removed Data Backup and Restore for SuperUser

-Modifications: Slight code changes (lighter)

-Modifications: Updated to latest ADB (Latest 4.2.2 security measures need updated ADB)

-Bug Fix: Fixes in the way install errors are flagged (stupid error)

v1.5b - August 4, 2013

-New Sub-Feature: Changed 5 recent folders instead of 3

-Modifications: Added more descriptive errors

-Modifications: Changed cleaning method of app data

-Modifications: Rolled back ADB and AAPT to the same version in 1.4.1 (Seems like newer ADB has issues, and I don't need to use most of the newer commands anyway)

v1.5a - May 20, 2013

-Modifications: Moved adb kill to end of application

-Modifications: Add package name to data for increased compatibility for apps with the same name (looking at you, Angry Birds)

-Modifications: Removed TEMP dir permanently after pulling APKs (cleaner)

-Modifications: Added 'Ignore" button to permission changing errors while pulling app data. Some app's data just can't be backed up due to security

-Modifications: More Descriptive Error Messages

v1.5 - March 6, 2013

-New Feature: Migrated the system over to a Unicode framework, however unicode functionality has not been implemented yet. To be implemented in the next major release.

-New Sub-Feature: Updated to the latest version of ADB

-Modifications: Rewrote Info parsing section from APK files (Now works with & and ' characters)

-Modifications: Changed Install Section order to catch for errors better and work with & Characters

-Modifications: Lighten code/ removed unrequired headers

-Modifications: Added chown to SMS restore section

-Modifications: Changed permissions for pushed data to 751, 771

-Modifications: Added Data Ownership During Restore code for Increased compatibility

-Modifications: Changed permissions settings handling in data restore for increased compatibility

-Modifications: Changed shell root access permissions checking method

-Modifications: More error checks during restoration of data

-Bug Fix: Fixed retry error when installing apps

-Bug Fix: Removed data restore code that deletes existing folders. Should work with Android 4.2.1 now

-Bug Fix: Bugfix to the data restoration process where data restoration may not work the first time around.

-Bug Fix: Changed Captions of Data Restore and SD Install to proper wordings

v1.4.1 - August 6, 2012

-Bug Fix: Small error with backing up sdext2 folder (mostly cosmetic)

-New Sub-Feature: 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.

-Modifications: Following the changes above, the permissions fix button, as it's now made an automated part of installer (nearly all functions require root now)

-Modifications: Modified SMS Backup/ Restore procedures

-Modifications: 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

-Bug Fix: Oops! SDExt2 App backup error! Forgot to add in 1 extra letter :| Fixed now.

v1.4.0 - July 27, 2012

-New Feature: Changed Radio Selection to Drop Down Selection for more options expansion

-New Feature: Dedicated Data Restore / Backup section

-New Feature: SMS Back Up & Restore - Experimental, thread with caution. Requires device reboot

-New Sub-Feature: Backing up data now works with Link2SD (SDext2)

-New Sub-Feature: Renaming now has the option to rename back to package names

-New Sub-Feature: Application now has direct link to donations (because this has been difficult to make, if you appreciate my work, pls donate :x)

-New Sub-Feature: 3 Last Directories are now stored, accessible via a drop down box

-New Sub-Feature: System App Backup, accessible via APK Backup section

-New Sub-Feature: APK Installation display cleaned up and user is now notified of and encountered APK installation errors. [Success / Failure]

-Bug Fix: Changed text for permission fix to be slightly more descriptive

-Bug Fix: Counter for Data Backup was not counting properly

v1.3.0f - April 26, 2012

-New Sub-Feature: Application now remember's last used setting.

v1.3.0e - April 26, 2012

-Bug Fix: 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

-Bug Fix: 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

-Bug Fix: Urgent issue with Data Restore not working in v1.3.0b fixed.

v1.3.0b - March 20, 2012

-New Sub-Feature: Application now remember's last used directory.

-Bug Fix: Data Restore would run multiple times on restore, while not really an issue, made the process longer.

-Bug Fix: Data Restore Counter would not count properly.

-Bug Fix: 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.

-Bug Fix: 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

-New Sub-Feature: Batch Rename your APK files :D 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

-New Feature: 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

-New Feature: 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

-New Feature: 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.

-New Feature: 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

-New Feature: 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.

-=Known Limitations=-​

-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=-​

-Opera Mobile

-Google Reader

*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 :D 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! :D

It would certainly help in buying my meals and paying my rent ; w ;

Enjoy :D

Latest and future versions (1.5c++) can be found in the Downloads Tab Above the thread :D or click HERE

XDA:DevDB Information

APK Batch Installer Tool, a Tool/Utility for the Android General

Contributors

hamsteyr

Version Information

Status: Stable

Current Stable Version: v1.5c

Stable Release Date: 2013-12-13

Created 2013-12-12

Last Updated 2013-12-31