[Android Apps and Games] GameGod72:
I'm an avid user of the Aldiko eBook reader app and recently got myself a tablet. Naturally, I wanted to be able to read my books on my phone and the tablet. I hoped there would be something that would allow me to easily do this, but I only found a stale thread on the Aldiko support site that said they would support this feature sometime in the future.

Therefore, I present to you, my first Android app, Aldiko Sync that allows you to sync both your books and bookmarks across various Android powered devices.

** Note **

The app requires a rooted device to work with Aldiko v2.2.0+. This is because Aldiko no longer allows other apps access to its database.

** Note **

Requirements:

Android 2.2+

Aldiko 2.0.2+ (Free or Premium)

Rooted device (Aldiko 2.2.0+)

Dropbox account

Features:

Synchronizes eBooks across devices (including addition of new books and deletion of old books)

Synchronizes your position in each eBook across devices.

Pro Version: Fully automatic sync.

Pro Version: Faster sync check for changes on Dropbox.

Pro Version: Trigger sync from an external application (like a Tasker/Locale plugin).

Ability to store deleted books in a separate "TrashCan" folder on Dropbox in case you want to retrieve it at a later date.

Ability to always sync to furthest read point (like the Kindle).

Current Limitations:

User defined bookmarks are not synced across devices.

Now available on the market:

Aldiko Sync (Free)

Aldiko Sync Pro Unlocker (Paid)

FAQ:

Will books that I add directly to Dropbox be synced to my devices?

No, they won't. My sync app synchronizes books in the Aldiko library between devices, using Dropbox as a storage location.

I'd love to be able to add books directly to the Aldiko library as they are added to Dropbox but its not an easy task. Unfortunately, Aldiko doesn't expose any means to import books without user interaction. The import process is crucial because thumbnails and cover images are generated only during the import process. My sync app gets around this problem by just shuffling the images around to various devices once they have been created by the import process on one device.

One way to work around this limitation is to use the Dropbox PC and Android apps to keep the non imported books in sync between the PC and Android device by having them in a separate shared folder. Once the book is on the device, its fairly easy to import it into Aldiko. Once its in the library, my sync app will take care of the rest.

Sync is broken, and I don't want to root my device. What do I do?

If your device has KitKat (Android 4.x) or earlier, you can downgrade to Aldiko version 2.1.0, which does not require a rooted device. Instructions are available here: http://xdaforums.com/showpost.php?p=35228923&postcount=362

Why is a sync operation started when I unlock my device?

A sync is performed on device unlock to sync down changes made to the Aldiko library by other devices.

The idea is to have all changes synced down to the device before Aldiko is opened. Ideally, this would be performed just before a book is opened in Aldiko. However, since the sync functionality is not built into Aldiko, this was the best method I could come up with to ensure the library was always kept in sync.

Why was the "Hide Status Icon" behavior changed?

Due to the way Aldiko is designed, a sync operation is not guaranteed to succeed if Aldiko is opened before it is complete. The icon is a an indication that its not "safe" to open Aldiko yet.

Why are changes made to a book on my device not propagating correctly to the other?

The most common reason for this is that one or more of the devices do not have the date/time set correctly. Having incorrect time settings on a device will cause sync to behave erratically.

The other reason could be that the "Sync To Furthest Point" is not consistently set across all devices.

How do I safely transfer my Aldiko Sync settings to another device (with Titanium Backup or similar apps)?

Turn off automatic sync on the device before backup.

Restore on new device (app + data).

Open sync app, click on Settings -> Reset State and enable automatic sync.

Run a manual sync operation to ensure all books are synced down to the new device correctly.

How do I recover books from the TrashCan folder into Aldiko?

From the device, use a brower or the Dropbox app to log into the Dropbox account.

Navigate to the book in the TrashCan folder.

Download the book to the device. The thumbnail/cover images are not needed.

Import the downloaded book into the Aldiko library.

Open the sync app and click on the Sync button to sync the "new" book to Dropbox.

Delete the folder that contains the book from the TrashCan folder on Dropbox.

How do I trigger a sync with Tasker?

This feature is available in the Pro Version.

Tasker allows you to have finer control over when a sync is triggered. Note that when a sync is triggered this way, the "Optimize Network Traffic" feature is disabled.

To trigger a sync with Tasker, you send commands to the app using a Tasker Action Intent.

When Tasker presents its list of Actions, select Misc Action, then Action Intent.

When tasker prompts for the 'Action', enter com.ucr.aldikosync.triggersync

The Category should remain at its default of None, and the optional Data field should be left blank.The Extra fields should also be left blank.

The Target field should remain at its default of Broadcast Receiver.

New Features:

9.0.6

Migrate Dropbox interface to new API, as the older version will be disabled on 28-Jun-2017.

8.18.20

Bug-Fix: Fix issue introduced with previous version on CyanogenMod ROM's.

8.18.18

Improve root acquisition compatibility.

8.18.14

Fix issue introduced in previous release: Sync waiting forever while acquiring root the very first time after install/upgrade on devices with Android OS 5.0 (Lollipop) and later.

8.18.10

Fix issue with acquiring root privileges on certain devices with Android OS 5.1.1 and later.

8.12.22

Updated app to fix issues on Android OS 6.0 (Marshmallow)

8.12.16

Bug-Fix: Fix issue with Drobox login form.

Android OS 2.1 (Eclair) no longer supported.

8.12.14

Bug-Fix: Fix issue with acquiring root on devices with CyanogenMod 12 ROM.

8.12.8

Bug-Fix: Fix issue with Dropbox login form.

8.12.1

Updated app to fix issues on Android OS 5.0 (Lollipop)

8.10.10

Bug-Fix: Fix connection issue with Dropbox servers.

8.10.8

Bug-Fix: Fix sync issues on certain rooted Samsung devices with custom ROM's.

Bug-Fix: (Pro Version) Fix sync not triggering when key guard was disabled on devices with Android OS 4.1 (Jelly Bean) or earlier.

Bug-Fix: Fix compatibility issue with Android OS 4.4 (KitKat)

8.10.2

Bug-Fix: Fix incompatibility issue on rooted MotoX and MotoG devices with Aldiko 2.2.0+.

Bug-Fix: Fix occasional failure to detect the existence of Aldiko's database on rooted devices during the sync app's first run.

8.9.4

Bug-Fix: Fix compatibility issue with databases created with Aldiko 3.0.2.

Bug-Fix: Fix for occasional crashes reported when showing warning dialog boxes.

Bug-Fix: Fix crash when trying to launch Aldiko from within the sync app due to corrupted Aldiko install.

8.9.2

Support for Dropbox's two-factor authentication.

Updated app to fix issues on Android OS 4.3 (JellyBean MR2)

8.8.8

Bug-Fix: Updated fix for Dropbox login form issue. Ensure form doesn't "freeze" if wrong data is entered the first time.

Bug-Fix: Fix occasional one-time crash on startup when app was upgraded/installed.

Bug-Fix: (Pro Version) Fix occasional crash on service restart.

Add ACCESS_SUPERUSER permission. Root is required if device has Aldiko 2.2.0 or later versions installed.

Bug-Fix: Fix issue with Dropbox login form on Gingerbread devices.

8.8.5

Bug-Fix: Fix issue with Dropbox login form on some devices.

8.8.3

Add support for Aldiko 2.2.3.

Add instructions for downgrading to Aldiko 2.1.0 if device cannot be rooted.

Bug-Fix: Fix occasional crash when the initial message dialog was dismissed.

Bug-Fix: Fix occasional crash when Dropbox login form was shown.

8.7.42

Bug-Fix: (Pro Version) Fix automatic sync not triggering reliably on quitting Aldiko on Android OS 4.1 (Jelly Bean) on some devices.

Bug-Fix: (Pro Version) Fix automatic sync being deactivated under certain circumstances when either the sync app or Aldiko was updated.

Bug-Fix: (Pro Version) Fix initial notification popup not being shown when Aldiko was quit with the "Home" key.

Bug-Fix: Fix network connection leak issue with the Dropbox API.

Display a one-time message explaining the rooted device requirement if Aldiko 2.2.0+ is installed on the device.

8.7.16

Bug-Fix: Fix notification popup always being shown on Android OS 4.2 (Jelly Bean MR1)

Bug-Fix: Fix occasional crash after Dropbox login was completed.

Bug-Fix: (Pro Version) Fix "application not responding" issue on rooted Android OS 4.1 (Jelly Bean) devices if user did not respond to the super user request in a timely manner.

Bug-Fix: (Pro Version) Fix main window sometimes being shown along with the notification on Android OS 4.1 (Jelly Bean).

8.7.4

Bug-Fix: Fix issue with Dropbox login not working correctly on some devices.

Bug-Fix: (Pro Version) Fix automatic sync not being triggered immediately on quitting Aldiko on Android OS 4.1.2 (Jelly Bean)

8.6.12

Bug-Fix: Fix issue with Dropbox login under certain circumstances.

Bug-Fix: Fix issue with deleting Dropbox folders, when they were not empty.

8.5.5

Work around for Dropbox login issue.

8.5.3

Migrate Dropbox interface to new API with better security and privacy controls.

Updated app to fix issues on Android OS 4.1 (Jelly Bean)

Bug-Fix: (Pro Version) Fix issue where automatic sync was not being triggered if there were pending changes and the sync service was restarted by the Android OS.

8.1.5

Bug-Fix: Verify Aldiko 2.2.0+ has been opened at least once prior to sync, so its database is available.

Bug-Fix: Fix crash on open on Android 2.1, due to Android OS not returning Aldiko's app version correctly.

8.0.2

Add support for Aldiko Premium 2.2.0. Note that this and future versions require the device to be rooted, since Aldiko no longer allows third party apps access to its database.

Bug-Fix: Automatic sync wasn't being immediately triggered on quitting Aldiko on some devices (notably, the HTC One X)

7.9.6

The restrict sync to Wi-Fi option will no longer prevent a manual sync from occurring if the device is on a 3G connection.

Bug-Fix: Fix crash during sync if library contained books with Adobe Digital Editions DRM.

Bug-Fix: Detect and discard corrupted local sync state, which was causing sync to fail. This seems to happen intermittently on some devices. The cause is still under investigation.

7.4.6

Add feature to restrict sync to Wi-Fi connections.

Pro Version: Update the "Hide Status Icon" feature to display text only on errors. Avoids the notification from blocking others on Honeycomb devices.

Update notification to show the actual error message, instead of a generic sync failed message.

Bug-Fix: Fix code to no longer silently ignore errors when saving the sync state.

7.1.2

Work around a bug in Android Gingerbread OS (2.3.1 and 2.3.2) which would sometimes corrupt the last digit of the stored read position, causing future sync operations to fail.

Add a ".nomedia" file to the SDCard location when a new book is imported to prevent the standard Gallery app from caching the book's thumbnail and cover images

7.0.4

Add option to always sync to furthest read point.

Improve code that checked for internet connectivity, should reduce the "Unable to reach Dropbox" message when switching from mobile to WiFi.

Pro Version: Allow error notifications to be dismissed when the "Hide Status Icon" option is enabled.

Bug-Fix: Detect and ignore incompatible thumbnail/cover images when adding new eBooks instead of failing the sync operation.

Bug-Fix: Fix very slow loading of library data for large libraries (100+ books) on devices whose default locale is not US English.

6.18.32

Updated app to fix issues on Android OS 4.0 (Ice Cream Sandwich)

Add option to always add books from a device to Dropbox on first sync (enabled by default)

Expand info sent via the "Report Issue" feature for a better support experience.

Bug-Fix: Fix the "eBooks Folder" field to be a single line control.

Pro Version: Improve license check code to reduce verification failure reported by some users. Requires updated unlocker app to be installed.

Pro Version: Update the "Hide Status Icon" feature to be more useful by displaying the icon when a sync is in progress.

Bug-Fix: (Pro Version) Fix issue where a sync was not performed if the device went to sleep due to the screen being turned off before the trigger could execute.

6.10.2

Add extra checks to verify internet connectivity before starting a sync operation. With this change, the "Unable to login to Dropbox" message should show up only for actual Dropbox login failures.

6.6.14

Correctly resize the cover/thumbnail image when adding a book to the device. Fixes issue with squashed images on certain devices.

Bug-Fix: Position in eBook was not being synchronized across devices if it had user defined bookmarks.

Make it much easier to report an issue with the app (Settings => Report Issue).

5.10.4

Bug-Fix: (Pro Version) (Android OS 2.2+) Fix crash on reboot when automatic sync is enabled and Aldiko is installed on the SD card. Correctly handle moving Aldiko from/to the SD card and SD card mount/dismount events.

Bug-Fix: (Pro Version) Fix crash if automatic sync is enabled when Aldiko is not installed.

Bug-Fix: Fix issue with eBook getting updated on every sync on local device if it was deleted and re-added on another device.

Pro Version: Reorganize code to improve battery life when automatic sync is enabled during a long Aldiko session.

5.8.20

Bug-Fix: Discard stored local sync state if its incompatible with the new app. Fixes the "Unable to read library" error when loading previously synced books.

Bug-Fix: Fix handle leak on screen orientation change.

5.4.18

Rewrote core parts of the app so it no longer requires root access.

Further improvements to the code that handles dropped connections during a sync.

Bug-Fix: Fix issue with an eBook not getting the correct saved position under certain rare circumstances.

Pro Version: Minor improvements to the "Optimize Network Traffic" feature.

4.1.2

Updated app to work on Android OS 2.1 (Eclair)

Improve handling of dropped connections. This should help reduce sync failures.

Add feature to optimize data stored on Dropbox. This feature enables compression of the library data and speeds up the sync operation.

Bug-Fix: (Pro version) Under certain circumstances, eBook updates would not be applied on a subsequent sync if the first attempt failed.

Bug-Fix: Fix issue with icon in the status bar being stuck in the "on going" status even after the sync operation was complete.

3.4.2

Bug-Fix: Inadvertently introduced a bug in the previous version, which could cause a manually triggered sync to loop infinitely under certain circumstances. (Sorry!)

Pro version: Add ability to trigger a sync operation from external apps (like a Tasker/Locale plugin) via a broadcast intent (com.ucr.aldikosync.triggersync)

3.3.6

Bug-Fix: Auto sync was not being triggered after quitting Aldiko on certain devices (some HTC phones, devices with CyanogenMod 7 ROM, and maybe others)

Bug-Fix: The "Optimize Network Traffic" option is dependent on automatic sync being enabled. Fix the Settings user interface so this dependency is communicated to the user

Add option to hide the notification bar icon in the Pro version

3.0.18

Library handling code optimizations resulting in a smaller and faster app

Improve reporting of Dropbox errors to the user

Add support for fully automatic and faster sync checking in the Pro version

2.2.4

Supports both Aldiko Free and Premium

Fixes crash that some people reported with the initial release.