How to Back Up Angry Birds Progress on Android (Rooted and Non-Rooted)

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

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.

Android Market

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.

Individual Settings
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”.

Global Settings
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.

Here are the links to the Helium App in the play store: Helium App Sync and Backup and Helium Premium.

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 (JDK)

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:

#!/bin/bash
java -jar “C:\adt\abe\abe.jar” “$@”

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

Cygwin can be downloaded from here and selecting the setup.exe links in the main body of text.

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.

Backup Directories

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.

Backup

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.

Restore

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.

Backup

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.

cd C:/adt/backups/DEVICE/GAME

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.

cd C:/adt/backups/DEVICE/GAME

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.

Migrate

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:

C:/adt/backups/device/game

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:

C:/adt/backups/device/game/apps/path/f

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.

Restore

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.

cd C:/adt/backups/DEVICE/GAME

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.

cd C:/adt/backups/DEVICE/GAME

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.

Tags: , , ,
Category: Guides

Comments (203)

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Due to the sheer size of my original guide, @AMslimfordy and @BirdLeader have had a little difficulty “condensing” it for this site.

As such, some of you may prefer to see it in its original format.

The guys have put a lot of work into reproducing my work, so I asked their permission first, and they have kindly agreed.

So for anyone who wishes to see the original with all the screenshots that may make it a bit more understandable, and links to show/hide what you want to see and what you don’t – my original guide will be available for the near (and possibly foreseeable) future on my own website.

http://www.wizardgroup.net/abbu/

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Just in case anyone is wondering – the reason to disable automatic updates is to prevent your game being “Cloud” enabled before you have had chance to back it up.

Rank: Flinger with 40 points
By Bert (@eludwig)

Praise CmdrBond! Your tutorial is really awesome!!!! I just colmpleted it and I’m happy to see all my comleted levels on the scoreboard!

Thank you so much! You are my hero!

Cheers!

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Thank you @cijik, for this update:

Regarding the files that are being backed up.
In Space and Star Wars there are 3 additional files: eaglepurchases.lua, episodepurchases.lua and gamepurchases.lua. They need to be backed up too if you want to save your Eagles (or Falcons) and purchased levels. Not sure about the power-ups, they might be stored in gamepurchases.lua

Rank: Pig Leader with 12210 points
By Bad piggies (@bad-piggies-2)

The Halium apps are not compatible with my davice. They need android version 4.0 or higher. Then it will not help on old phones, or am I not understanding?

Rank: Sling God with 32120 points
By AMslimfordy (@amslimfordy)

That’s the first note under the Helium section.

Rank: Pig Leader with 12210 points
By Bad piggies (@bad-piggies-2)

Sorry. I did not see that.

Rank: Fling King with 4390 points
By SouperBrick (@souperbrick)

Will this guide work for bad piggies?

Thanks for the guide!

Rank: Sling God with 32120 points
By AMslimfordy (@amslimfordy)

With small variations and tweaks, it should.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Actually I am not so sure that it will, but I will look into it.

Rank: Avian Overlord with 16460 points
By PJng (@pjng)

Bad Piggies can backup without rooting your device, you can nagivate to BP folder using build in ‘my filed’.

Rank: Boss Hog with 14280 points
By Josm (@josm)

I think I’ll take a day off tomorrow for reading & doing this =D , Very usefull description @CmdrBond Thanks a lot!

Rank: Master Slinger with 6700 points
By wanda (@wanda)

@cmdrbond, thank you! I haven’t been able to restore from the app I had been using since the latest updates. This is right on the time :-)

Rank: Flinger with 0 points
By teoamez (@)

I am using an app called “Angry Birds backup 2 sd” and it works perfectly, no root needed (I have android 2.3.3 Gingerbread). I also found “Bad Piggies backup” and “Amazing Alex Backup” and both seem working fine (Amazing Alex backup doesn’t support Jelly Bean). No root needed in any.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

No root is needed for those apps on Gingerbread (2.3.3), it is when you upgrade to ICS(4.0) and JellyBean (4.1) the problem with root access becomes apparent.

There are or were many apps available in the Market/Play Store that backed up or restored AB Versions, the only reason I mentioned the 1 app I did above all others is two fold.

It backs up all 5 versions of AB

and it allows you to transfer between free, premium and HD simply by backing up one, uninstalling, installing the new one and restoring.

I don’t know of any other app that does this.

Rank: Avian Overlord with 16460 points
By PJng (@pjng)

My device is 4.0.3, no any problem using that apps, my device not yet root.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Ahh – I know 4.1 has the root issue. The reason I wrote the guide the way I did was down to the fact the adb backup was introduced with 4.0.

Unfortunately I don’t have access to any 4.0.x devices.

Could someone who does have a non-rooted 4.0.x (Ice Cream Sandwich) device please test both the adb backup and the adb pull commands and let me know the result and I will update the guide accordingly.

Rank: Deputized with 195 points
By phoe (@phoe)

Thank you muchly, @teoamez, for your recommendation to use AB backup 2 sd, you gave me the little extra confidence I needed to risk my many hours of play. I just used it + it was so easy + perfect + now I have free space on my phone (android 2.3.6)- yey! Nice one!

Rank: Pig Leader with 12075 points
By kai92 (@kai92)

Rooted phone like mine is easier with backup and restore with Titanium Backup.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

That maybe so, but some people do not want to root, and as yet I had no access to a rooted device so could only write from my experience.

Rank: Out of this World with 2890 points
By Spacer (@spacer)

My sis has been complaining for a while that android needed ‘an ultimate backup tutorial’. I hope she is happy now. Thankyou @cmdrbond and ABN.

Rank: Boss Hog with 14055 points
By Crazy Rider (@crazy-rider)

I have used an app called angrybackup for a long time now, and it works great. I have transferred my progress when I change my phone and back and forth an android emulator (bluestacks) on my PC. No need for root, works with all 5 AB apps, easy to use and save everything including feathers and PUs (even if I don’t use them).

Rank: Flinger with 60 points
By Powernout (@powernout)

@CmdrBond: impressive tutorial!!!

You may remember my question of two days ago regarding my stupid self factory-resetting my phone and forgetting to backup my Angry Birds. I’m wondering if you have a clue where I could obtain someone else’s progress so I can continue playing from where I started?

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

I’m sorry to say that I don’t think there is anything you can do to recover scores after a factory reset. :(

Rank: Champion with 3735 points
By Birds! (@theog)

Kies can be also a usb driver for Samsung devices. I remember I root my device using kies as the driver

Rank: Slinger with 1075 points
By Sheila (@sheila)

@CmdrBond – Thank you so much for your hard work providing this guide. My games were/are on my SD card in my HTC evo (android version 2.3.5) due to it’s limited internal space. That SD card is now in my upgraded phone – Galaxy s4 (android version 4.2.2). Will this be a problem since the games are not in the internal memory of the phone?

Rank: Slinger with 1075 points
By Sheila (@sheila)

@ CmdrBond – I have another question. My AB files are backed up to Dropbox. Is there anyway I can start there? Just wondering.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

@Sheila – depends on what you have backed up to DropBox and how that backup was made.

My advice would be to follow the instructions in Backing Up, Migrating, and Restoring Between All Versions

But you can substitute the commands for the source device and download your dropbox files instead (assuming the backup you have either has a .ab extension (it might work with other file extensions, but I doubt it) or the highscores and settings .lua files.

Hope that helps.

Rank: Well Traveled with 1760 points
By martythebrit (@martythebrit)

Yikes! I’m glad I rooted my phone..

There are several app’s in the play store that will back-up your progress.

I couldn’t do this every time…..

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

It’s not as difficult as it looks, but I do appreciate your sentiment.

Rank: Master Slinger with 5940 points
By 78RPM (@78rpm)

@CmdrBond
May all your Boomerang Birds go where you want; may all your Yellow Birds achieve light speed; may all your eggs drop where they should; may all your Bomb Birds knock down structures in this level and the next one; may your Red Birds gain the ability to go through stone and may your Orange Birds blow debris to places that defy the laws of physics…

Rank: Champion with 3735 points
By Birds! (@theog)

@CmdrBond If I try this guide on ubuntu(linux), do I need to install cygwin? (ubuntu can run windows programs although it’s linux)

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

No need to install Cygwin on Linux. You will still need Java, and some of the paths may be different due to the file system structure.

More information can be found over at the XDA Developers Forum. It was the following thread over there that helped me write this guide (I am escribblings over there), and it contains more details about other operating systems.

[GUIDE] How to extract, create or edit android adb backups

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Cygwin is a Linux emulator. The one thing you will need is “Pax” (or as you are running linux “Star”) more details about these programs can be found in the above linked thread.

Rank: Champion with 3735 points
By Birds! (@theog)

Thanks! Maybe I’ll try it on windows, since my ubuntu a little buggy

By Owen

-bash: adb: command not found
Any reason why I am getting this error?
adb.exe is in C:\adt\platform-tools\

When I ran this command I changed the path
echo ‘export PATH=$PATH:/cygdrive/c/adt/sdk/platform-tools’ >> ~/.bashrc
I took out the ‘sdk’, but I get no confirmation it did anything. Is it supposed to confirm something? Thanks.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

No, it is not supposed to confirm anything, it is echoing what you type on screen into the .bashrc file that configures the emulator.

You say you took out the “sdk”, did you take out the “/” as well?

If your command now reads

echo ‘export PATH=$PATH:/cygdrive/c/adt//platform-tools’ >> ~/.bashrc

That will be why its not working.

Why is adb.exe not in platform tools anyway?

Re-run the prep and do exactly as I have and you should be fine.

By Leslie

I’m having this same problem but on a different step. When I installed everything I ended up with adb.exe in the platform-tools folder, but that folder’s path is c:/adt/platform-tools. There is no sdk folder in c:/adt. I took out the sdk/ so it should be pointing to the right location (…c/adt/platform-tools…), and for me the echo command works fine. The problem I am having is occurring when I type in the abe.sh unpack command. When I do that I get -bash: abe.sh: command not found. (My abe.sh file is in the same location as adb.exe, which is c:/adt/platform-tools. As I said before, when I installed everything, there was no sdk folder in c:/adt.)

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Ok, where is your abe.jar located? It should be at C:/adt/abe/abe.jar

If it is in the correct location, check the syntax of your abe.sh script.

It should read

#!/bin/bash
java -jar “C:\adt\abe\abe.jar” “$@”

Pay special attention to the slashes. Despite working in a *nix environment, the Java we have installed is the Windows version, and that demands the paths be written the windows way and not the nix way.

If the pat in your script reads C:/… instead of C:\…, that will most likely be your problem right there.

Thank particular syntax issue delayed my guide by a full 2 days before I realised why it wasn’t working.

Also make sure that the path to the abe.jar is correct.

Let me know how that works.

By Leslie

I double-checked and the slashes are all going the correct way (I actually copied and pasted it from your post into notepad, so it shouldn’t have been incorrect anyway), and the path to abe.jar is correct.

I uninstalled and re-installed everything, making sure I did it all correctly, and I’m still getting the same problem. I don’t know if this makes a difference or not, but when I installed the ADT SDK, I don’t have a folder called platform-tools at all. I have to run SDK Manager and choose to install the platform tools from there before I have the platform-tools folder. I mean, I did that before running Cygwin at all and that’s where the abe.sh file is located, so I don’t think it should be an issue. I figured I’d mention it anyway, just in case.

I started looking at the readme file in the abe folder, and it says that to unpack something you use java -jar abe.jar unpack backup.ab backup.tar. I tried that, and it told me it couldn’t access the jarfile. I realized that that was because it didn’t know where to look for the jar file. I used the location given in the abe.sh file instead (the actual location of abe.jar), giving me java -jar c:/adt/abe/abe.jar unpack backup.ab backup.tar. When I input that, I get this:
Exception in thread “main” java.lang.UnsupportedClassVersionError: org/nick/abe/Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

I’m guessing that this is the problem, but I have no idea where to go from here.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

@Leslie – well firstly let me say I am no expert in this field, so I will do what I can to help.

You are quite correct about the java -jar abe.jar unpack backup.ab backup.tar command, and you correctly realised Cygwin needs to know where it is.

There are 2 ways of doing this, call the command from the backup directory using the path to the .jar (like you did) or run the command from the directory where the .jar is located (adding ./ in front of it and specifying the full path to both the backup and restore files.

This is why I created the script in the first place, as it saves a lot of typing ;)

Now, onto your errors. I Googled the beginning of your fault log, and it appears to be saying that it is trying to use and older version of Java than Java 7 to run the file.

Type

java -version

at the $ prompt in Cygwin

Mine comes back as:

New_User@New_User-PC ~
$ java -version
java version “1.7.0_17”
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode)

If it comes back as anything less than 1.7.x then, even if you have installed 1.7 it is referencing the wrong version (i.e. you have more than 1 version installed)

My recommendation would be to uninstall ALL instances of Java, then re-install it.

Pay close attention to my screen shots in my collapsable guide here: http://www.wizardgroup.net/abbu

Also, look at my screenshots for the ADT and see if your step match mine.

It could be that of you and @Owen installed a slightly different option of the ADT.

Lets see if that helps at all. Good luck.

By Leslie

Lol. Apparently we were typing that at the same time. Thanks again for your help!

By Leslie

Ok, I finally got it all figured out. After doing some googling, I found that I was getting that error due to having two different versions of Java on my computer at the same time. Apparently when 7 installed along with the JDK, it didn’t uninstall 6, which was already on my computer. I had trouble with just uninstalling 6 and then trying to do this process, so I restored my computer to before I started any of this and started all over. This time, however, I uninstalled all of 6 before I started, then installed Java 7 before I did anything else. (The problem I was having after uninstalling 6 ended up being because JDK had installed the 64-bit version of Java 7 and SDK was looking for the 32-bit version. You need both apparently.) From there I followed the rest of the installation instructions and started Cygwin. I still couldn’t get abe.sh unpack backup.ab backup.tar to work. It doesn’t seem to like that for whatever reason, but it worked just fine when I replaced it with java -jar c:/adt/abe/abe.jar unpack backup.ab backup.tar instead. From there everything worked fine. When I repacked the restoration file, I had to use java -jar c:/adt/abe/abe.jar pack restore.tar restore.ab instead, but again it at least worked.

Figured I’d write all this out in case anyone else has the same problem.

Oh, and in your step about restoring the files, it’s slightly confusing. You give the example command adb restore backup.ab but you had us title the file restore.ab, so the command here should actually be adb restore restore.ab. The explanation you’ve got makes it pretty clear that it should be the restore.ab file, but for people following along with the example commands, that could be a little confusing.

Thanks so much for writing this guide and for your attempts to help everyone. Aside from a few weird issues that I had to work out, I got everything copied over eventually. :) Thanks again!

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

@Leslie

On that last bit I’ll quote my reply to Sheila lower down

Maybe I should have made that bit clearer, if you are transferring between 2 4.x devices you can just restore the backup.ab you created. But if you migrate you need to back up the restore.ab instead.

IIRC I wrote the migration section after the restore section – which may account for that.

I am still a little puzzled why the script won’t work, but at least you managed to migrate successfully.

Rank: Slinger with 1075 points
By Sheila (@sheila)

Has anyone tried this yet? I am working on it. I am getting ready to do the backing up, migrating and restoring between all versions steps.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

@Sheila – yup.

Quote:

By Bert (@eludwig) on May 31, ’13 at 8:03 am
Praise CmdrBond! Your tutorial is really awesome!!!! I just colmpleted it and I’m happy to see all my comleted levels on the scoreboard!

Thank you so much! You are my hero!

Cheers!

Rank: Slinger with 1075 points
By Sheila (@sheila)

Hello @CmdrBond. I have run into a problem. I am in the backup step in Backing Up, Migrating, and Restoring Between all versions. I was able to backup all of the files from my old device – htc evo with android version 2.3.5 using cygwin and the commands in the guide. Now I have my destination device – galaxy s4 with andriod version 4.2.2 plugged into my computer and I am trying to do the same backup. I have played one level of each game. When I enter the adb pull command – I get an error message that it failed to copy…permission denied. I have followed your instructions carefully and everything has worked perfectly to this point. I don’t know what to do now. I don’t have any passwords enabled on the s4.

Can you help me with this?

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

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.

cd C:/adt/backups/DEVICE/GAME

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.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

My collapsible guide at http://www.wizardgroup.net may be easier to follow.

Rank: Explosive with 2240 points
By ksfno1 (@ksfno1)

Another tutorial really worth bookmarking and sharing! Thanks a billion, ABN team!

Rank: Slinger with 1075 points
By Sheila (@sheila)

@CmdrBond – thank you! I realized I was using the same commands to back up the s4 as I did the evo, which are two separate set of commands due to the different versions of android on each phone. Your collapsible guide is easier to follow. The screen shots are very very helpful. I have backed up both devices and I am now on to the more complicated part of migrating.

Rank: Slinger with 1075 points
By Sheila (@sheila)

Hello @CmdrBond. I am almost at the end. “Now all you have to do is restore your newly created restore.ab file to your destination device.” I did not rename “restore.ab” when it was created. Is this the actual file I am restoring from? So the command would be for me, adb restore restore.ab? I used the backup.ab I renamed (for ABO I used originalbackup.ab) so I used adb restore originalbackup.ab – but none of my scores were there. I’m not sure what I did wrong. Lost.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

OK, you “may” have missed a step. Lets run through the steps. I will keep all this in the same directory rather than changing directory for devices and games as per the guide. – The following assumes you have prepared your computer and devices correctly ;)

1. Connect your 2.3.5 device

2. Run Cygwin and navigate to the folder you are going to store your files in, for example:

cd C:/adt/backups

3. Back up your 2.3.5 device with the commands

adb pull /data/data/com.rovio.angrybirds/files/highscores.lua

and

adb pull /data/data/com.rovio.angrybirds/files/settings.lua

4. Disconnect your 2.3.5 device and connect your 4.2.2 device.

5. Back up your 4.2.2 device with the command:

adb backup -noapk com.rovio.angrybirdsversion -f backup.ab

6. Unpack the backup with the command:

abe.sh unpack backup.ab backup.tar

7. Extract the archive you just created with the command:

tar -xvf backup.tar

8. Catalogue the backup with the command:

tar -tf backup.tar > backup.list

9. Using Windows Explorer, navigate to the directory you are using and copy the highscores.lua and settings.lua into the directory /apps/com.rovio.angrybirds/f

10. Back in Cygwin, create the restoration archive with the command:

cat backup.list | pax -wd > restore.tar

11. Pack the restoration archive into the restoration backup with the command:

abe.sh pack restore.tar restore.ab

12. Restore your newly created restoration file to your 4.2.2 device with the following command:

adb restore restore.ab

And that should be it.

The reason for changing the file name is 2 fold – it saves having to re-download files if you make a mistake and you can see if the command has worked when the new file is created.

HTH

Rank: Slinger with 1075 points
By Sheila (@sheila)

@CmdrBond – Hi, I have another question. When I ran the command “abe.sh unpack backup.ab backup.tar”, I did not get a “tar file” (backup.tar), rather I got a zip file (backup zip file) that I had to extract with windows. I was unable to run the extract command “tar -xvf backup.tar”. But it appeared the needed files were extracted with windows when I follow your screen prints. When it was time for me to “create a restoration archive” I ran the command “cat backup.list | pax -wd > restore.tar” I did not get a “tar file”, either (restore.tar) in my folder. I also received a “restore zip file”. Could this have caused me problems when I had to repack the restoration file? This is where I seem to have run into problems.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

This was lost in the system, but I feel may be relevant to some:

I think I understand what your tar/zip problem is.  If I am right, this is simple.  I don’t know what version of Windows you are running, but XP and maybe some others have a sneaky little option that hides the file extensions for known file types.  Now if I have read what you have written correctly, this makes sense – as you write I did not get a “tar file” (backup.tar), rather I got a zip file (backup zip file).  What I believe you are seeing instead of backup.tar is a file called backup.  Which appears to you as a zip file due to the software installed in windows (tars are similar to zips).  By following either of the commands where the line ends with .tar you are specifying the name of the file that is created will end with .tar so I believe your file extensions are hidden.

This leads me to my next assumption – When you say When I ran the command “abe.sh unpack backup.ab backup.tar”, I did not get a “tar file” (backup.tar), rather I got a zip file (backup zip file) that I had to extract with windows. I was unable to run the extract command “tar -xvf backup.tar”, did you actually use the command tar -xvf backup.tar OR did you use tar -xvf backup thinking that the file you created was simply called backup? IF this is the case, that is where you went wrong.

Whatever happens you should only need to use Windows Explorer to copy the lua files, and Cygwin for the rest.

Rank: Slinger with 1075 points
By Sheila (@sheila)

@CmdrBond – Thanks for helping me with this. I am running Windows Vista. I have kept cygwin open throughout the process, starting with migration and looked at the commands and I think I see where I made a mistake and missed a step. I went all the way to the end, but there is something I did wrong. I am going to start over with the backup of my 4.2.2 device. I will delete the information in the backup folders for that device and start over, because I think that will be easier since I am working with all 5 of the free versions.

I do have a question before I start. In step 5 above, for the command – adb backup -noapk com.rovio.angrybirdsversion -f backup.ab – for the original version I changed the filename to originalbackup.ab because I thought I had to name it something to match the directory. Did I not have to do this? If I can leave it as backup.ab, as you used, it will be easier to follow your screen shots. Is that also true for step 11? For the command – abe.sh pack restore.tar restore.ab – I changed restore.ab to originalrestore.ab. If I can type what you used, knowing that I have to do the same for each directory, I believe it will be easier.

Thank you again for your help.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Yup – the file can be called anything you like.

I chose different folders to separate backups rather than changing filenames as you canny change the names of highscores.luau or settings.luau.

Rank: Slinger with 1075 points
By Sheila (@sheila)

@CmdrBond – Thank you, thank you, thank you!!! I have successfully transferred all of my scores from my 2.3.5 device to my 4.2.2 device. I used your screen shots as a guide and they were really helpful. I also used the same file names as you did which kept it simple. The one thing that confused me in the end – in the original guide – the last command to restore was listed as “adb restore backup.ab”. This is another place I went wrong originally. In your above post – step 12 – the command is listed as “adb restore restore.ab” Which when I think about what the commands are doing, the restore.ab file is obvious, since it was created after the highscores.lua and settings.lua files were copied to the destination device folder. The backup.ab file is from the destination device prior to migration.

I really appreciate the time and effort on your part to help us with this. I mentioned in the beginning that I am not technically savvy but I was able to follow your steps. The problems I had in the beginning were my mistakes. Thanks for explaining that zip/tar thing. Another place I went wrong, using Windows.

Now if Rovio would fix the teeny weeny icons and scores on my screen! :-)

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Maybe I should have made that bit clearer, if you are transferring between 2 4.x devices you can just restore the backup.ab you created. But if you migrate you need to back up the restore.ab instead.

IIRC I wrote the migration section after the restore section – which may account for that.

Anyway, I’m glad you managed it successfully.

By Moonbebe

I got a problem at unpack stage.
When I unpack as your command, it show “strong AES encryption disable”.
It can make a new backup.tar file but in the next step extract it show this is not seem is a tar file. How can I fix it?

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Sorry @Moonbebe – I am struggling to understand what you mean.

The AES message can probably be ignored. I am away from my PC right now, but check the screenshots here: http://www.wizardgroup.net/abbu.

As for the file not looking like a “tar” – I am not sure what you mean, unless you have the same issue as Shiela did and windows is hiding file extensions.

After you have run the command, type ls at the $ prompt to list the directory you are – that should show your new file correctly.

HTH

By Moonbebe

Hi CmdrBond, thanks for your quite reply. Let me explain my problem with all the details show on Cygwin as I already follow your instruction step by step from your link before.

At migrate step, when i unpack the file as your command, below are the details show on Cygwin.

abe.sh unpack backup.ab backup.tar
Strong AES encryption disabled

Magic: ANDROID BACKUP
Version: 1
Compressed: 1
Algorithm: none
427520 bytes read

The screen shot I see from your site show that the tar file is larger than the ab file, but mine keep the same size as ab file.
I ignore the problem and go on to the next step extract. The details then show as below:

tar -xvf backup.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

This time the result is totally different from your screen shot and no file was extract. I then can’t go on to next step.

I’m using Win7-x64 sp1 and I would like to restore record from my Nexus1(2.3.6) to Samsung Note2 LTE(4.1.2)

Thank you very much for your help!

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Did you enter a password at any point in the back up progress?

I am wondering if you have knowingly or unwittingly encrypted the tar. If so, you will need to add the password to the unpack command.

abe.sh unpack backup.ab backup.tar

Or create a new backup without encryption.

If this is not the solution, may I suggest you head over to XDA Forums – [GUIDE] How to extract, create or edit android adb backups. This is where I got a lot of the guide from and they will be much better placed to work this out.

Please give as much detail as possible if you post over there – you are more likely to get a helpful response if you can show what you have done and what you have tried.

HTH.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Hmmm the password bit was dropped from that for some reason

I believe that at the end of the command, the password should be written inside less-than & greater-than symbols.

@Moonbebe – tagging you here too as I forgot to do that in the 1st reply.

By moonbebe

I didn’t add any password for those files.
Anyway, thanks for your advice. I will update here later if I fix the problem. Thanks so much!

By moonbebe

Thanks CmdrBond for the great support.
For the problem I faced, I have search for the site you provide and understand the use of command prompt to work your steps.
I found that if I use Helium to backup the game, the file it created can’t be unpack to tar file.
So I redo the steps and backup the game using command prompt at Cygwin. All backup, migrate and restore steps go smoothly.
I can now go on with my Angrybirds games, thanks again for CmdrBond’s great help.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Glad you got it sorted. I wonder if Helium must use some form of encryption?

Rank: Slinger with 1090 points
By DanG82 (@dang82)

I had the same experience as Moonbebe: after unpacking the “.ab” file created by Carbon to a “.tar” file, I got the “This does not look like a tar archive” error when trying to extract the “.tar” file in Cygwin. However, when using Cygwin to capture the “.ab” file from my phone, everything went smoothly.

The steps you posted in response to Sheila here were more or less what ended up working for me:
https://www.angrybirdsnest.com/how-to-back-up-angry-birds-progress-on-android-rooted-and-non-rooted/comment-page-1/#comment-637428

I posted a few issues I encountered along the way in a new post on this thread yesterday to help improve the guide or aid others who may get stuck.

Thanks again CmdrBond!

Rank: Slinger with 1090 points
By DanG82 (@dang82)

Whoops, that should read “Helium”, not “Carbon”. Got my elements confused, haha!

By Nicky

I use g cloud backup application from google play for rooted on my device and it is the best I’ve used so far.

Rank: Slinger with 1155 points
By cijik (@cijik)

Regarding the files that are being backed up.
In Space and Star Wars there are 3 additional files: eaglepurchases.lua, episodepurchases.lua and gamepurchases.lua. They need to be backed up too if you want to save your Eagles (or Falcons) and purchased levels. Not sure about the power-ups, they might be stored in gamepurchases.lua.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Thank you for that :)

Rank: Slinger with 1155 points
By cijik (@cijik)

Also, I found a file named bi_data.lua in the Star Wars folder. I’m not sure what is stored in it and should it be backed up or not. Just so you know.

Rank: Sling God with 32120 points
By AMslimfordy (@amslimfordy)

@cijik @CmdrBond — For safety, any and all .lua files should be backed up.

By JimM

Hi, J’ve followed the guide and find it very helpful. The original website has one advantage over this page, in that you can hide the bits that don’t apply, so you don’t get confused. However I digress.

In Cygwin- I get the error” -bash: adb: command not found ” . I’m pretty sure everything is installed correctly, I can see an Android Composite ADB device in device manager. from what I’ve read, I should be able to type adb and get a list of commands. I get error message.

Double click on C:\adt\sdk\platform-tools\adb.exe and it opens a CMD window a scrolls commands then closes. Is something wrong with the path statements? I have cut & paste from website.
Any help would be greatly appreciated. :)

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

Well firstly, the only thing you should be “double-clicking” is the shortcut to Cygwin.

The error “-bash: adb: command not found” means that Linux (Cygwin) does not know where the adb.exe file is.

Re-enter this command in Cygwin

echo ‘export PATH=$PATH:/cygdrive/c/adt/sdk/platform-tools’ >> ~/.bashrc

Please note the syntax is important.

You must use forwards slash / and not backward slash \
Similarly you must use single quote ‘ and not double quote ” or whatever that character on they key left of 1 on the top row is called `.

Try that and see how you get on.

By JimM

Tried that, its the same. I copied and pasted, to avoid syntax errors.

jim@LAPTOP-61 ~
$ echo ‘export PATH=$PATH:/cygdrive/c/adt/sdk/platform-tools’ >> ~/.bashrc

jim@LAPTOP-61 ~
$ adb
-bash: adb: command not found
jim@LAPTOP-61 ~
$ adb pull /data/data/com.rovio.angrybirds/files/highscores.lua
-bash: adb: command not found

adb.exe is in C:\adt\sdk\platform-tools (Using windows path naming)
Have tried on 2 PC’s, both the same.

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

@JimM

I just tried something, when you copy the text above into notepad, the single quotes are angled, not straight (I will use slashes and pipes to demonstrate)

So the quotes and the syntax inside look like \syntax/ instead of |syntax|.

Try copy/pasting one more time, but delete and re-enter the single quotes before pressing enter.

If that still fails, navigate in Cygwin to your adb directory (list (ls) it to make sure the file is there) and then just run the adb command from that directory (don’t worry about the paths to the files to run it on for now)

$ cd C:/adt/sdk/platform-tools
$ ls
$ adb

If that runs, please post the contents of your .bashrc file. This can be done by opening notepad, select File > Open, change the file type from Text Documents (*.txt) to All Files (*.*), navigate to your Cygwin directory (should be something like Computer > Local Drive (C:) > cygwin then navigate to the folder where your .bashrc is kept, this varies due to your login details, so substitute USER with your computer username. So this would be home > USER.

Open .bashrc and then copy the contents here, pop it inside blockquotes and (minus the spaces) to separate it from the rest of the text. And I will try and see if I can find the error.

HTH

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

That comment about blockquotes didn’t work properly :(

For blockquotes, use the following but replace the [ and ] with the symbols.

[blockquote]
your text here
[/blockquote]

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

damn this system and its in ability to edit, replace the square brackets with the Less Than and Greater than symbols.

By JimM

Alright, that didn’t work

and the bash file—hopefully the right one.
<# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any warranty.
# You should have received a copy of the CC0 Public Domain Dedication along
# with this software.
# If not, see .

# base-files version 4.1-1

# ~/.bashrc: executed by bash(1) for interactive shells.

# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/skel/.bashrc

# Modifying /etc/skel/.bashrc directly will prevent
# setup from updating it.

# The copy in your home directory (~/.bashrc) is yours, please
# feel free to customise it to create a shell
# environment to your liking. If you feel a change
# would be benifitial to all, please feel free to send
# a patch to the cygwin mailing list.

# User dependent .bashrc file

# If not running interactively, don’t do anything
[[ “$-” != *i* ]] && return

# Shell Options
#
# See man bash for more options…
#
# Don’t wait for job termination notification
# set -o notify
#
# Don’t use ^D to exit
# set -o ignoreeof
#
# Use case-insensitive filename globbing
# shopt -s nocaseglob
#
# Make bash append rather than overwrite the history on disk
# shopt -s histappend
#
# When changing directory small typos can be ignored by bash
# for example, cd /vr/lgo/apaache would find /var/log/apache
# shopt -s cdspell

# Completion options
#
# These completion tuning parameters change the default behavior of bash_completion:
#
# Define to access remotely checked-out files over passwordless ssh for CVS
# COMP_CVS_REMOTE=1
#
# Define to avoid stripping description in –option=description of ‘./configure –help’
# COMP_CONFIGURE_HINTS=1
#
# Define to avoid flattening internal contents of tar files
# COMP_TAR_INTERNAL_PATHS=1
#
# Uncomment to turn on programmable completion enhancements.
# Any completions you add in ~/.bash_completion are sourced last.
# [[ -f /etc/bash_completion ]] && . /etc/bash_completion

# History Options
#
# Don’t put duplicate lines in the history.
# export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
#
# Ignore some controlling instructions
# HISTIGNORE is a colon-delimited list of patterns which should be excluded.
# The ‘&’ is a special pattern which suppresses duplicate entries.
# export HISTIGNORE=$'[ \t]*:&:[fb]g:exit’
# export HISTIGNORE=$'[ \t]*:&:[fb]g:exit:ls’ # Ignore the ls command as well
#
# Whenever displaying the prompt, write the previous line to disk
# export PROMPT_COMMAND=”history -a”

# Aliases
#
# Some people use a different file for aliases
# if [ -f “${HOME}/.bash_aliases” ]; then
# source “${HOME}/.bash_aliases”
# fi
#
# Some example alias instructions
# If these are enabled they will be used instead of any instructions
# they may mask. For example, alias rm=’rm -i’ will mask the rm
# application. To override the alias instruction use a \ before, ie
# \rm will call the real rm not the alias.
#
# Interactive operation…
# alias rm=’rm -i’
# alias cp=’cp -i’
# alias mv=’mv -i’
#
# Default to human readable figures
# alias df=’df -h’
# alias du=’du -h’
#
# Misc :)
# alias less=’less -r’ # raw control characters
# alias whence=’type -a’ # where, of a sort
# alias grep=’grep –color’ # show differences in colour
# alias egrep=’egrep –color=auto’ # show differences in colour
# alias fgrep=’fgrep –color=auto’ # show differences in colour
#
# Some shortcuts for different directory listings
# alias ls=’ls -hF –color=tty’ # classify files in colour
# alias dir=’ls –color=auto –format=vertical’
# alias vdir=’ls –color=auto –format=long’
# alias ll=’ls -l’ # long list
# alias la=’ls -A’ # all but . and ..
# alias l=’ls -CF’ #

# Umask
#
# /etc/profile sets 022, removing write perms to group + others.
# Set a more restrictive umask: i.e. no exec perms for others:
# umask 027
# Paranoid: neither group nor others have any perms:
# umask 077

# Functions
#
# Some people use a different file for functions
# if [ -f “${HOME}/.bash_functions” ]; then
# source “${HOME}/.bash_functions”
# fi
#
# Some example functions:
#
# a) function settitle
# settitle ()
# {
# echo -ne “\e]2;$@\a\e]1;$@\a”;
# }
#
# b) function cd_func
# This function defines a ‘cd’ replacement function capable of keeping,
# displaying and accessing history of visited directories, up to 10 entries.
# To use it, uncomment it, source this file and try ‘cd –‘.
# acd_func 1.0.5, 10-nov-2004
# Petar Marinov, http:/geocities.com/h2428, this is public domain
# cd_func ()
# {
# local x2 the_new_dir adir index
# local -i cnt
#
# if [[ $1 == “–” ]]; then
# dirs -v
# return 0
# fi
#
# the_new_dir=$1
# [[ -z $1 ]] && the_new_dir=$HOME
#
# if [[ ${the_new_dir:0:1} == ‘-‘ ]]; then
# #
# # Extract dir N from dirs
# index=${the_new_dir:1}
# [[ -z $index ]] && index=1
# adir=$(dirs +$index)
# [[ -z $adir ]] && return 1
# the_new_dir=$adir
# fi
#
# #
# # ‘~’ has to be substituted by ${HOME}
# [[ ${the_new_dir:0:1} == ‘~’ ]] && the_new_dir=”${HOME}${the_new_dir:1}”
#
# #
# # Now change to the new dir and add to the top of the stack
# pushd “${the_new_dir}” > /dev/null
# [[ $? -ne 0 ]] && return 1
# the_new_dir=$(pwd)
#
# #
# # Trim down everything beyond 11th entry
# popd -n +11 2>/dev/null 1>/dev/null
#
# #
# # Remove any other occurence of this dir, skipping the top of the stack
# for ((cnt=1; cnt /dev/null)
# [[ $? -ne 0 ]] && return 0
# [[ ${x2:0:1} == ‘~’ ]] && x2=”${HOME}${x2:1}”
# if [[ “${x2}” == “${the_new_dir}” ]]; then
# popd -n +$cnt 2>/dev/null 1>/dev/null
# cnt=cnt-1
# fi
# done
#
# return 0
# }
#
# alias cd=cd_func
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt/sdk/platform-tools:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt:/cygdrive/c/adt/sdk/platform-tools’
>

hopefully the block quotes works.
Many thanks for your assistance.
Jim

By JimM

sorry, i’ll get the hang of forums one day
here’s the Cygwin output

ponder@Hex ~
$ cd C:/adt/sdk/platform-tools

ponder@Hex /cygdrive/c/adt/sdk/platform-tools
$ ls
abe.sh AdbWinApi.dll api NOTICE.txt
adb.exe AdbWinUsbApi.dll fastboot.exe source.properties

ponder@Hex /cygdrive/c/adt/sdk/platform-tools
$ adb
-bash: adb: command not found

Rank: Champion with 3640 points
By CmdrBond (@cmdrbond)

OK, re running adb command from it’s directory,I made a slight mistake in my instructions, the last line should have been $ ./adb, not $ adb. That should resolve that issue. If that works, we can move on.

Now for your .bashrc file, I think I can see the issue, although I don’t understand why it is happening – note I am only quoting the relevant part of your .bashrc file.

‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt/sdk/platform-tools:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt:/cygdrive/c/adt/sdk/platform-tools’
‘export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:C:adt:/cygdrive/c/adt/sdk/platform-tools’

Open your .bashrc file in notepad.

Firstly remove the duplicate lines.

Now remove the strange symbols and you should be left with

export PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/adt/sdk/platform-tools

Save it and try that.

If it still fails try adding

export PATH=$PATH:/cygdrive/c/adt/sdk/platform-tools

directly to the bottom of your .bashrc in notepad.

If that fails I am stumped and you will be better off talking to the guys over at the XDA forums.

HTH

Leave a Reply to RobertoD91 Cancel reply

Your email address will not be published. Required fields are marked *