This guide has been a very long time coming. While Rovio is working on a Cloud system, which should work between operating systems, a lot of users would still like to manually backup their data. While we have a full Angry Birds backup guide that covers all platforms, Android is challenging and warrants a guide of its own. This is mostly due to the large number of differences between devices, rooting versus non-rooted, and all that mumbo-jumbo that Android users know about.
This guide comes courtesy of @CmdrBond. Please join us in sending him a huge “Thanks” for this awesome tutorial. We have tweaked it slightly to fit ABN, and we apologize for the length of the guide, but it’s a necessary evil. We hope that it will help any and all Android users who wish to manually backup or transfer their progress.
Disclaimer: We cannot guarantee the methods described here will work for everyone, nor can we guarantee that they are 100% safe — though they certainly appear to be. That said, any user who acts upon these methods is proceeding at their own risk, and we take no responsibility for loss of scores or other data, bricked devices, voided warranties, etc. etc.
Table of Contents
- Step 1: Disable Automatic Updates
- Step 1/2: Terminology
- Step 2: Preparing Your Device
- Step 3: Preparing Your Computer
- Backing Up and Restoring: v1.6-3.2 or Rooted v4.0+
- Backing Up and Restoring: Rooted or Non-Rooted v4.0+
- Backing Up, Migrating, and Restoring Between All Versions
Step 1: Disable Automatic Updates
The latest versions of Angry Birds require Android 2.2 (Froyo) or later. If you have scores on a pre-2.2 device that you wish to move over, now is the time to do so, whilst you still can.
You can either disable the update on each app individually or disable it for everything. These features are dependent on your version of the Play Store (or Android Market) and will be in different places.
On older devices running the Android Marketplace, applications can only be controlled individually. To do this, open the Android Market app then go to: Menu > My Apps, select the desired App and uncheck the box next to “Allow automatic updating”.
Google Play Store
On devices running the Play Store, updates can be controlled individually or globally. Below I show 2 different versions of the Play Store.
The individual settings on the older Play Store up are much the same as the Android Market settings. Open the Play Store app then go to: Menu > My Apps, select the desired App and uncheck the box next to “Allow automatic updating”.
The individual settings on the newer Play Store adds an extra step. Open the Play Store app then go to: Menu > My Apps, select the desired App, press Menu again and then uncheck the box next to “Allow automatic updating”.
The global settings are the same for both versions of the Play Store. Open the Play Store app then go to: Menu > Settings and uncheck the box next to “Auto-update apps”.
Step 1 1/2: Terminology
Just since the language can be confusing, we want to clear it up.
At time of writing, there are five games: Angry Birds (herein called AB:O), Seasons (AB:S), Rio (AB:R), Space (AB:Sp), and Star Wars (AB:SW).
Within each game, there may be different versions: Free (/F), Premium (/P), and High Definition (/HD).
Again, within each version, there may be different updates, which will be the language used to describe “version numbers”, usually listed as v1.x.x in the app’s description info.
Step 2: Preparing Your Device
Enable USB Debugging
To prepare your device to work with some of the steps below, you will need to enable USB debugging. The steps to achieve this differ depending on your version of Android.
v1.6-3.2 (Donut, Eclair, Froyo, Gingerbread and Honeycomb): Settings > Applications > Development > USB Debugging
v4.0+ (Ice Cream Sandwich, Jelly Bean and beyond): Settings > Developer Options > USB Debugging. Note that you may need to activate the “Developer Options” by using the toggle at the top of the screen. Also note that for Android devices running the 4.2 & later, “Developer Options” is hidden by default. To make it visible go to Settings > About Device, then tap the build number 7 times. Press back to return to the previous screen and Developer Options should have appeared.
Helium (Formerly Carbon)
Note 1: Helium will only work on Android v4.0 (Ice Cream Sandwich) or later.
Note 2: If you wish to save your backups to anything other than your devices internal storage (e.g. Drop Box or Google Drive), you will need to purchase the Premium version. But there is nothing stopping you saving the file to your device then manually copying it elsewhere.
Note 3: Rooted devices do not need to be connected to a computer to enable backup and restore.
For those of you who wish to use Helium, you will first need to enable USB debugging as mentioned above. Then it is a simple case of downloading and installing the Helium app from the Play Store, and connecting your device to your PC – see “Preparing Your Computer” below.
Create a Savegame (restoration only)
Before doing any of the restore actions, you need to complete at least 1 level of each game first. I am not entirely sure of the reason for this — and some restoration methods may actually work without following this step, feel free to experiment. However, it is generally of no hardship to complete the 1st level of any of the games.
Step 3: Preparing Your Computer
These steps, with the exception of Helium, form the basis of the only universal method. It is however, a little involved and will require a little work.
Firstly you will need to download and install some software (if it is not already present on your machine). This software should work on all versions of Windows from XP onwards, but has only been tested by me on a Windows Vista machine.
Drivers (Needed for both Helium and the ADT)
If you are going to use Carbon/Helium or the ADT, you will need the drivers for your device, specifically the ADB driver. With some devices, these drivers will have automatically installed themselves when you connected the device to the PC via the USB cable. If they did not, you will receive an error message when trying to run the ADB commands described later in this article. If this is the case and you are having trouble locating the correct driver and Windows has not automatically detected it, try using this tool which I found over at XDA Developers
The ADB Driver Installer can be downloaded here. Should you need to use the ADB Driver, they have their own easy to follow instructions here. Should that not work, follow the steps laid out on the Helium website.
Important: Once you have installed the drivers for your device, you must restart your PC.
Helium (Formerly Carbon)
If you are using Helium, you can skip the rest of the “Preparing Your Computer” stages.
For Helium to work on non-rooted, you will need to install the Helium Desktop Application. The Helium Desktop App can be downloaded here. Once installed, run the app and connect your phone. If nothing happens, check that you have installed the drivers mentioned above.
Java Development Kit (JDK) 7 or greater is required by the Android Developer Tools and is also needed for the extraction process which will be mentioned later on. The JDK can be downloaded here.
Android Debug Bridge (Android Developer Tools)
The Android Debug Bridge (ADB), is part of the Android Developer Tools (ADT). In fairness you do not need the entire bundle — just 3 files from it (adb.exe, AdbWinApi.dll and AdbWinUsbApi.dll). For the purposes of this guide it will not matter if you have the entire bundle or just the SDK, so long as you know where it is on your machine. However, for the sake of simplicity, and ease of following the rest of this guide, I recommend you download the SDK. It comes as an executable, and it doesn’t matter whether you are running a 32-bit or 64-bit OS. (The Eclipse bundle comes as a zipped archive, and has a 32-bit or 64-bit version — so you need to make sure you download the correct one for your OS).
The ADT SDK and other files can be found here. Click the “Download For Other Platforms” link at the bottom of the page, then scroll down and click on the link for the installer.
Run the executable and follow the on screen instructions. It will check for Java, so make sure you have already installed that. Once you get to select the installation directory, change it to: C:\adt. You can change it to anything you want, however for simplicity and ease of following this guide, the above is the recommended directory.
For more information on the Android Debug Bridge itself, go here.
Android Backup Extractor
The Android Backup Extractor is a neat little Java application that does all the fancy stuff that allows us to do some of the more advance features, like transferring scores between versions (Free to Premium or HD). You can download the Zip archive from here. Once downloaded, extract the files to C:\adt\.
The last thing we need is a little script that will allow us to call this Java file from any location. Open Notepad and type the following:
java -jar “C:\adt\abe\abe.jar” “[email protected]”
Save this file as abe.sh in the C:\adt\sdk\platform-tools directory.
Cygwin (with Pax)
Cygwin is, I suppose, a Linux terminal emulator. The only reason why Cygwin is needed is because we need to use an archive utility that stores directories in the archive without a trailing slash. This might not sound all that important, but in the world of code and semantics a single character or space in the wrong place and strange things happen. There is only 1 such application available for Windows, and that is called Pax. Whilst there is a native version of Pax available for Windows through Gnuwin32, it is far easier to setup and use through Cygwyn. Couple to that the fact that with a simple line of code at setup, and we can do away with the Windows command prompt altogether and use Cygwin for everything (which also means we do not have to find any more utilities to help with decompressing the .tarballs (archives) that the ABE creates).
Once downloaded, run setup.exe and follow the on screen prompts. Choose whichever download sites you like, it does not matter. The most important part of this process is the Select Packages stage. When you reach this screen, type pax into the search box, then in the main window next to Archive click on Default to change it to Install.
Don’t worry if you skipped past this stage without realizing… Just re-run the setup.exe.
The last stage in configuring Cygwin is to set the path to the adb.exe. This is done by double clicking the Cygwin icon and entering the following command at the $ prompt.
echo ‘export PATH=$PATH:/cygdrive/c/adt/sdk/platform-tools’ >> ~/.bashrc
If you installed the Android Developer Tools to a different directory, you will need to change /c/adt to the path you used. This is why I suggested installing to C:\adt right at the beginning.
Before you create your backups, you are going to want to know where you are storing them. It is possible to create some of the folders on the fly, however I think it is better to have the folders prepared before you start. This is especially important if you are dealing with multiple devices, so that you do not overwite the wrong files.
You can create the directories anywhere you like, but for ease of following this guide I recommend using the following structure:
In the C:\adt directory you created earlier, make a new folder called backups, then inside this create a folder for each device you own (I am using a Sony Xperia X8, a Samsung Nexus S and a Samsung Galaxy S3, hence my folders X8, Nexus and S3).
Important Note: The steps later on use an emulated version of Linux. For those of you unfamiliar with Linux, it’s file system is case-sensitive. This means that you must make sure that if you create a directory such as “Nexus”, you always refer to it as “Nexus” and not nexus or NEXUS, etc.
Backing Up & Restoring Android v1.6-3.2 or Rooted v4.0+
Donut, Eclair, Froyo, Gingerbread & Honeycomb or Rooted v4.0+ (Ice Cream Sandwich, Jelly Bean, …)
This is probably the easiest to do. There are many apps in the “Play Store” (Android Market on older phones) that claim to be able to back up and restore your save game files. However, the only one I have used successfully was “Angry Birds Back Up” by Sergio Patricio. This has since been removed from the Play Store. If you would like to try this app you will need to contact Sergio directly. The reason I still mention this app, even though it is generally unavailable is because it was the only all-in-one free app that supported all 5 incarnations of Angry Birds, allowed you to back up and restore from Drop Box or Device storage and could migrate the scores between versions (if you have multiple versions installed, it will only restore to the 1st one it finds in this order, IIRC, – HD then Premium and finally Free).
Whilst compiling this I guide I contacted Sergio myself in regard to publicly recommending his app. His response was positive, and explained that the app had been removed due to “Trademark Issues” on the name of the app. The only reason he did not re-upload it was due to the issues of non-rooted Jelly Bean devices. However he does still support the app, but will not re-upload it to the Play Store due to Rovio’s move towards Cloud storage.
The only way I publicly know to contact Sergio is via the XDA Developers forums. His user name there is sergiopat.
Using “Angry Birds Back Up” is self explanatory, just place a check mark next to the game you wish to backup / restore and hit the backup / restore buttons. To connect to your Dropbox account just hit “Connect with Dropbox”.
If you are using a rooted Jelly Bean device, you need to open the menu, select preferences and place a check mark next to “Request Root”.
Backing Up & Restoring Android v4.0+
Rooted or Non-Rooted Ice Cream Sandwich, Jelly Bean, …
Having prepared your computer and your device as shown above, this is actually quite an easy process. If you have reset your device you might need to follow the instructions in “Preparing Your Device > Helium” again first.
Open Helium on your device. It may default to whatever action was last followed, so you may need to change tabs.
Select the Backup tab at the top of the screen, place a check mark next to the desired app (you can select more than one, and you can define groups, but for now we will stick with individual backups), then press the Backup button at the bottom of the screen.
Unless you have paid for the premium version of Helium, you can only back up your apps to the devices Internal Storage. Once backed up, if you wish to transfer between devices you can manually access these files through the use of a File Manager. There is also an option to sync Helium with other devices, but that will not be covered here.
The backups are stored in a folder named Carbon. (On the Samsung Galaxy S3 this is located at: My Files/storage/sdcard0/carbon.) Any Helium backups will appear in here as a folder with a name similar to com.rovio.angrybirds (depending on the version of the game that has been backed up).
With the back up started, you will briefly have the option to password protect you backup. You may ignore this and the backup will continue unhindered.
Restoration is practically the reverse of the back up process. Select the Restore tab at the top of the screen. Unless you have paid for the premium version of Helium, you can only restore your apps from the devices Internal Storage. Once selected, you will be presented with a list of previously saved backups.
Place a check mark next to the desired app (you can select more than one, and you can restore groups, but for now we will stick with individual restorations), then press the Restore button at the bottom of the screen.
Once the restoration has started, you will be given the option to enter a password, if you protected your backups. If no password was created, just wait a moment and the restoration will continue unhindered.
Backing Up, Migrating & Restoring Between All Android & Game Versions
So you don’t want to bother Sergio, or you are looking to migrate your scores from a device that doesn’t suport Helium to a non-rooted ICS/JB device, or you are wishing to transfer your scores from an Ad-Free to a Premium version on a non-rooted ICS/JB dvice? No problem. There is another way. This method should enable you to back up, migrate and restore any Android Device and Game Version. First you will need to “Prepare Your Computer” and “Prepare Your Device” if you have not already done so.
Paths and Files
The next thing you will need are the paths to the app data (and for pre- v4.0 devices, the file names) you want to back up. In the following steps, replace any instance of PATH with the path for the specific version as listed in the table below.
- Angry Birds (Original): com.rovio.angrybirds
- Angry Birds Seasons: com.rovio.angrybirdsseasons
- Angry Birds Rio: com.rovio.angrybirdsrio
- Angry Birds Space: com.rovio.angrybirdsspace.ads
- Angry Birds Space Premium: com.rovio.angrybirdsspace.premium
- Angry Birds Space HD: com.rovio.angrybirdsspaceHD
- Angry Birds Star Wars: com.rovio.angrybirdsstarwars.ads.iap
- Angry Birds Star Wars HD: com.rovio.angrybirdsstarwarshd.premium.iap
In all the guides I have read they always mention 2 files that need to be backed up: highsores.lua and settings.lua. My recommendation is to backup both files to be on the safe side.
To backup your scores, connect your device to your computer via USB, run Cygwin and enter the following commands, (depending on the Android version on your device)
v1.6-3.2 (Donut, Eclair, Froyo, Gingrbread and Honeycomb)
With Cygwin open, navigate to your desired backup directory. If you have followed my instructions above, enter the following commands exactly (replacing DEVICE with the folder name for your desired device and GAME with the folder name for the game/version you are backing up). Otherwise, navigate to where your folders are or where you want to save your backups to.
For example, I used cd C:/adt/backups/X8/ABO.
Then run the backup command, replacing PATH with the path for the version required from the table above and replacing FILE with either highscores.lua or settings.lua.
adb pull /data/data/PATH/files/FILE
For example, I used adb pull /data/data/com.rovio.angrybirds/files/highscores.lua.
v4.0+ (Ice Cream Sandwich, Jelly Bean and beyond)
With Cygwin open, navigate to your desired backup directory. If you have followed my instructions above, enter the following command exactly (replacing DEVICE with the folder name for your desired device and GAME with the folder name for the game/version you are backing up). Otherwise, navigate to where your folders are or where you want to save your backups to.
For example, I used cd C:/adt/backups/S3/ABO.
Then run the backup command, replacing PATH with the path for the version required from the table above and replacing FILENAME with the name you wish to call your backup file. I think the quotes around the filename are only required for filenames with spaces or similar characters in them, I have had success without using them, but I would recommend using them to prevent problems later on.
adb backup -noapk PATH -f “FILENAME.ab”
For example, I used adb backup -noapk com.rovio.angrybirdsversion -f backup.ab.
Unlock your device (if not already unlocked) and confirm the backup.
This is the more complicated part of the tutorial, however if you are migrating scores between 2 pre- v4.0 devices you may skip straight to the restore section (don’t forget to change the path if you are migrating between game versions). The following steps refer to the backup files created with Android v4.0 devices or newer.
If you have not already done so, you must now create a backup of both devices. See above.
Unpack the Backup
With Cygwin open, navigate to your desired backup directory and run the abe.sh script we created earlier with the following arguments:
abe.sh unpack backup.ab backup.tar
Extract the Archive
In Cygwin, extract the newly created backup.tar with the following command:
tar -xvf backup.tar
Catalogue the Backup (Required Only on the Destination Device)
In Cygwin, catalog the newly created backup.tar with the following command:
tar -tf backup.tar > backup.list
Copy the Files
If you have followed my instructions above, replace device with the folder name for your desired device, game with the folder name for the game/version you are restoring and path with the correct path for your game version from the table above.
Open Windows Explorer and navigate to the folder where your highscores.lua and settings.lua files are located for your source device.
For devices running Android v3.2 and older, these will be in the backup directory you created:
For example, I used C:/adt/backups/X8/ABO.
For devices running Android v4.0 or newer, these files are located deep within the extracted backup:
For example, I used C:/adt/backups/S3/ABO/apps/com.rovio.angrybirds/f.
Copy the 2 files, hiscores.lua and settings.lua and paste them into correct backup directory for the destination device, and select to overwrite any existing files.
Create Restoration Archive
In Cygwin, navigate to the directory for the destination device and create the restoration archive with the modified files using the following command:
cat backup.list | pax -wd > restore.tar
Repack the Restoration File
With Cygwin open, repack the newly created restore.tar into the Android Backup format with the following command:
abe.sh pack restore.tar restore.ab
Now all you have to do is restore your newly created restore.ab file to the destination device, see below.
Restoration of your files is as simple as reversing the backup process.
To restore your scores, connect your device to your computer via USB, run Cygwin and enter the following commands, (depending on the Android version on your device).
v1.6-3.2 (Donut, Eclair, Froyo, Gingerbread and Honeycomb)
With Cygwin open, navigate to your desired restoration directory. If you have followed my instructions above, enter the following commands exactly (replacing DEVICE with the folder name for your desired device and GAME with the folder name for the game/version you are restoring). Otherwise, navigate to where your folders are or where you want to restore your backups from.
For example, I used cd C:/adt/backups/X8/ABO.
Then run the restoration command, replacing FILE with either highscores.lua or settings.lua and replacing PATH with the path for the version required from the table above.
adb push FILE /data/data/PATH/files/
For example, I used adb push highscores.lua /data/data/com.rovio.angrybirds/files/.
v4.0+ (Ice Cream Sandwich, Jelly Bean and beyond)
With Cygwin open, navigate to your desired restoration directory. If you have followed my instructions above, enter the following command exactly (replacing DEVICE with the folder name for your desired device and GAME with the folder name for the game/version you are restoring). Otherwise, navigate to where your folders are or where you want to restore your backups from.
For example, I used cd C:/adt/backups/S3/ABO.
Then run the restoration command, replacing FILENAME with the name of the file you are restoring your backup from. I think the quotes around the filename are only required for filenames with spaces or similar characters in them, I have had success without using them, but I would recommend using them to prevent problems later on.
adb restore “FILENAME.ab”
For example, I used adb restore backup.ab.
Unlock your device (if not already unlocked) and confirm the backup.