Wednesday, August 29, 2012

Introducing the .ABEX File Format

As I have said in my last post, Droid Explorer will support the Android Backup (.ab) file format. But I also mentioned that Droid Explorer will extend the Android Backup file format so a backup can be tied to a specific device. This file format will be ABEX (Enhanced Android Backup). The file format is simple and just adds an additional header block to store the information.

	ENHANCED ANDROID BACKUP\n
[DEVICE ID]\n
[Droid Explorer Version]\n
[ABEX Version]\n
$$$ ENHANCED ANDROID BACKUP $$$\n

The first line is the Magic line. Next is the Device ID that the backup is tied to. This is value is a string. If the device is not connected, then an error message should be displayed notifying the user that the backup is tied to a specific device and that device could not be found. Next is the version of Droid Explorer (or the application that created the ABEX). This value is a string. Next is the Specification Version of ABEX (Current = 1). This value is an integer. The final line is an indicator showing the end of the ABEX header.


Following the ABEX Header should be the normal Android Backup content starting with the Android Backup Magic line.


I have a modified version of ABE that Droid Explorer will use to unpack these files and forked it on github.


Visually, these files will (at least for now) look just like a normal Android Backup. The difference will be the file extension and how Droid Explorer will handle them. If it is a “Basic” Android Backup, then the user will be prompted with a device selection when attempting to restore. Also, there will be an option to convert a “Basic” Android Backup to an “Enhanced” version. Also, Droid Explorer will allow the conversion of an “Enhanced” version to a “Basic” version.

4 comments:

  1. So this isn't a cwm or twrp backup? Nothing like it? I would just like know why you went with this type... its got a nifty icon and im very happy with your program. Super cool you do this on your free time. Thanks !! I was just wondering though seems lots of people stick to cwm for everything *hmpf* I like twrp my self for normal stuff... but a tool like this was a great find for me im very happy with it thanks again later.
    zcortlandt@gmail.com

    ReplyDelete
  2. I went with this type because this is built right in to android 4.x. Android handles creating the backup, I just extended it a little to make the backup specific to the device so you cannot apply a backup to the wrong device on accident.

    ReplyDelete
  3. where does it put the backup?

    ReplyDelete
  4. Where does what put the backup? This post is describing how I extended the android backup file format. If you are talking about where does android create the backup, it is specified when you create the backup. if you are talking about Droid Explorer, it places the backups in your user data directory called "Android Backups".

    ReplyDelete

Introducing the .ABEX File Format

As I have said in my last post, Droid Explorer will support the Android Backup (.ab) file format. But I also mentioned that Droid Explorer will extend the Android Backup file format so a backup can be tied to a specific device. This file format will be ABEX (Enhanced Android Backup). The file format is simple and just adds an additional header block to store the information.

	ENHANCED ANDROID BACKUP\n
[DEVICE ID]\n
[Droid Explorer Version]\n
[ABEX Version]\n
$$$ ENHANCED ANDROID BACKUP $$$\n

The first line is the Magic line. Next is the Device ID that the backup is tied to. This is value is a string. If the device is not connected, then an error message should be displayed notifying the user that the backup is tied to a specific device and that device could not be found. Next is the version of Droid Explorer (or the application that created the ABEX). This value is a string. Next is the Specification Version of ABEX (Current = 1). This value is an integer. The final line is an indicator showing the end of the ABEX header.


Following the ABEX Header should be the normal Android Backup content starting with the Android Backup Magic line.


I have a modified version of ABE that Droid Explorer will use to unpack these files and forked it on github.


Visually, these files will (at least for now) look just like a normal Android Backup. The difference will be the file extension and how Droid Explorer will handle them. If it is a “Basic” Android Backup, then the user will be prompted with a device selection when attempting to restore. Also, there will be an option to convert a “Basic” Android Backup to an “Enhanced” version. Also, Droid Explorer will allow the conversion of an “Enhanced” version to a “Basic” version.