[HOW-TO] Google Calendar sync, sideloading on rooted 1.4.1

Search This thread

CSX321

Senior Member
Aug 21, 2009
644
300
Southern IL USA
I finally have everything set up and working the way I want on my rooted 1.4.1 Tablet, so I thought I would share.

I couldn't find anything on getting Google Calendar installed and syncing to work on a rooted 1.4.1 Nook Tablet, but here is how you can do it:

First, download the Calendar.apk and CalendarProvider.apk files for Android 2.3 from here. (Update: DeanGibson has noted this link is obsolete, but that the files can be extracted from the NT 1.4.0 acclaim_update.zip file.)
Next, copy Calendar.apk to /system/app with Root Explorer.
Now use Root Explorer to copy /data/system/packages.xml somewhere such as /media/My Files/Documents, and use adb to pull it to your machine.
Edit packages.xml with a Unix-compatible editor, and delete userId="___" and sharedUserId="___" from all the lines related to Calendar. I think there are either three or four lines. Don't delete the entire line, just the userId/sharedUserId attribute.
Save the file, push it back to the Tablet, and use Root Explorer to copy it back to /data/system. (The first time I tried to paste it, I got an out-of-memory error for some reason. I just copied and pasted it again, and it worked.)
Reboot the Tablet.
Use adb to install CalendarProvider.apk.
Reboot the Tablet.
You should now be able to enable Calendar sync for your Gmail account in Account and Sync Settings, and your Google Calendar will work, as will apps that use it, such as Business Calendar.

---------------------

Now for enabling sideloading. I tried NT Hidden Settings, but for some reason even the latest version didn't work for me to enable sideloading. I just fell back on the technique of manually enabling it in settings.db:

Use Root Explorer to copy /data/data/com.android.providers.settings/databases/settings.db somewhere such as /media/My Files/Documents, and use adb to pull it to your machine.
Make sure you have sqlite3 installed on your machine.
From a command prompt in the directory where you have settings.db (all on one line):
Code:
sqlite3 settings.db "update secure set value=1 where 
name='install_non_market_apps';"
Push settings.db back to the Tablet, and copy it back to /data/data/com.android.providers.settings/databases using Root Explorer.
Reboot the Tablet.
Unknown sources in Applications Settings should now be checked and you should be able to sideload apps again.

nook1.jpg

nook2.jpg
 
Last edited:

elmulletlargo

Member
Oct 9, 2009
10
3
Procedure failing for me

Hi there,

I'm having trouble installing CalendarProvider.apk via adb, getting
"Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]"

I have gone through packages.xml twice (missed one the first time apparently) and removed all of the userId and sharedUserId attributes from any tags having anything to do with calendar.

I found a strange key in one of the tags:

<package name="com.android.calendar" codePath="/data/app/com.android.calendar-1.apk" nativeLibraryPath="/mismatched_uid/settings_10064/fs_10028" flags="0" ft="1349c1ed328" it="1349c1ed756" ut="1349c1ed756" version="10" uidError="true">

nativeLibraryPath: this could have resulted from a prior attempt at trying to install calendar and calendarprovider without first modifying the packages.xml last week. I keep checking and reattempting am failing. Might I be on the right track with my assumption? Would you mind checking yours to see if these nativeLibraryPath and uidError tags ought to be there?

Thanks
 
Last edited:

CSX321

Senior Member
Aug 21, 2009
644
300
Southern IL USA
Might I be on the right track with my assumption? Would you mind checking yours to see if these nativeLibraryPath and uidError tags ought to be there?

Yes, I think probably you are onto something. Mine has this:

<package name="com.android.calendar" codePath="/system/app/Calendar.apk" nativeLibraryPath="/data/data/com.android.calendar/lib" flags="1" ft="134bbf21a48" it="134bbf21a48" ut="134bbf21a48" version="8">

You might need to also remove one or both of those error-related attributes, then reboot and try installing CalendarProvider.apk again.
 

elmulletlargo

Member
Oct 9, 2009
10
3
I ended up in an endless-loop boot screen and reverted to base 1.4.0 and redid the DeanGibson method. First thing after geting back to 1.4.1 with root was to do this calendar trick before things got too polluted. Now I get a process com.android.calendar stopping unexpectedly. Force Close. Not sure where to go from here :(
 

CSX321

Senior Member
Aug 21, 2009
644
300
Southern IL USA
Now I get a process com.android.calendar stopping unexpectedly. Force Close. Not sure where to go from here :(
At what point did you get that? I've actually done the procedure twice, because I corrupted my accounts.db file while trying to work out how to do it and had to Erase and Deregister and start over. I think I got an error from Calendar the second time at one point before I was through, but it didn't seem to interfere with the process.

Also, are you sure you got packages.xml put back in place? As I noted, the first time I tried to put it back in /data/system I got an error, and there was no file there at all. I had to go back and copy and paste my modified version with Root Explorer again. That might cause a boot loop; I'm sure it would cause some kind of major problems.

Edit...FWIW, I just had to do it again. I was messing around with build.prop and experimenting with some of the built-in apps, and I managed to erase and deregister it again. I don't know if it's necessary, but I made sure to preserve the permissions on packages.xml. (Got the same out of space error trying to paste it the first time, too.)
 
Last edited:

brianf21

Senior Member
Oct 27, 2010
626
480
Davie, FL
Now for enabling sideloading. I tried NT Hidden Settings, but for some reason even the latest version didn't work for me to enable sideloading. I just fell back on the technique of manually enabling it in settings.db:

I figured out why it was not working for some people. Busybox must be installed before using NT Hidden Settings. I will fix this in the near future.
 

elmulletlargo

Member
Oct 9, 2009
10
3
Could you perhaps be more precise on what tags you removed the userId and SharedUserId's from? Possibly I was over-aggressive. In theory, I may be able to uninstall calendarProvider via adb, put back my original packages.xml (which I was smart enough to back up, this time ;)) and give it another shot without starting from a 1.4.0 wipe. I just finished getting everything back on there and hate the thought of doing it all over again. Very excited to hear that we may be just a few weeks away from putting CM9 on these and unleashing the beast!

I would love to be able to confirm this procedure for you.

Thanks,

Bill
 

CSX321

Senior Member
Aug 21, 2009
644
300
Southern IL USA
Could you perhaps be more precise on what tags you removed the userId and SharedUserId's from?

Sure thing. Here are the lines, post-removal. I'm pretty sure it was just these four.

Code:
<package name="com.android.providers.calendar" codePath="/data/app/com.android.providers.calendar-1.apk" nativeLibraryPath="/data/data/com.android.providers.calendar/lib" flags="0" ft="134c66f44a0" it="134c66f47c2" ut="134c66f47c2" version="10" installer="com.google.android.feedback">
<package name="com.android.calendar" codePath="/system/app/Calendar.apk" nativeLibraryPath="/data/data/com.android.calendar/lib" flags="1" ft="134bbf21a48" it="134bbf21a48" ut="134bbf21a48" version="8">
<package name="com.google.android.syncadapters.calendar" codePath="/system/app/GoogleCalendarSyncAdapter.apk" nativeLibraryPath="/data/data/com.google.android.syncadapters.calendar/lib" flags="1" ft="118629be210" it="118629be210" ut="118629be210" version="10">
<shared-user name="android.uid.calendar">

I probably won't be putting CM9 or anything else on this one. I got it to use for testing my own apps. Interestingly (to me), I sell a lot more through B&N than through any of the other markets. I think it's mainly the added visibility from there being such a limited number of apps. Not that I'm complaining! I originally swore I was going to leave this thing stock to test with. But I just couldn't do it. :p It's still stock enough.
 

elmulletlargo

Member
Oct 9, 2009
10
3
Well, I tried again from scratch, and no luck. I followed the instructions exactly. I did find that immediately after pasting Calendar.apk to /system/app, we immediately grab and edit packages.xml. When I did that, there were not 4 lines referencing the calendar, but only two. I think there may be a reboot missing inbetween that would lead the system to find the Calendar.apk and add the appropriate tags to the xml file.

Regardless, I edited the few tags I found, then rebooted. I tried to install CalendarProviders and was blocked by the "SharedUserID failure" again. I re-edited the packages.xml (which now had all 4 lines) and rebooted. I was then able to install CalendarProviders successfully via adb and reboot again. When it comes up, the first thing to happen is the "Calendar Storage (process.com.android.providers.calendar) has stopped unexpectedly. Force Close".

The only bright point is in the Account & Sync screen, where in the past I have only seen "Sync com.android.providers.calendar" in the list, it now just says "Sync Calendar" as in your photo. But it will not sync. If I examine my packages.xml, I again have the userId error in the lib path and uidError attribute in the calendar providers tag.

Could this be the stumbling point?

Thanks,

Bill
 
Last edited:

CSX321

Senior Member
Aug 21, 2009
644
300
Southern IL USA
When it comes up, the first thing to happen is the "Calendar Storage (process.com.android.providers.calendar) has stopped unexpectedly. Force Close".

The only bright point is in the Account & Sync screen, where in the past I have only seen "Sync com.android.providers.calendar" in the list, it now just says "Sync Calendar" as in your photo. But it will not sync. If I examine my packages.xml, I again have the userId error in the lib path and uidError attribute in the calendar providers tag.

Could this be the stumbling point?

Hmm. I haven't had the Calendar Storage error, and I'm sure the userId error in packages.xml is an indicator of something, but I don't know what. I paid better attention during the most recent time through the process, and the only error I had was unrelated (an exception from a wi-fi management app I'm using).

This most recent time I didn't technically reinstall CalendarProvider.apk, because adb told me it was still installed. All I did was edit those four lines and reboot, then go to Account & Sync and uncheck and recheck Sync Calendar, and it synced. The timing doesn't seem critical; I actually did it *after* I had already restored all the rest of my apps using Titanium Backup this time.

It might be worth trying clearing your Calendar Storage data, removing all the userId/sharedUserId attributes (and the userId errors) from packages.xml again, and rebooting. I don't *think* it could hurt.

This is a black art, isn't it? I wish someone else could also get it working! Based on searching online I feel like I may be the only person with Google Calendar sync on a Nook. I keep going back to my calendar, and making sure that, yes, it really is synced. I just created an event on my desktop, and about 30 seconds later it popped up in a notification on the Nook. Definitely working.
 
  • Like
Reactions: elmulletlargo

elmulletlargo

Member
Oct 9, 2009
10
3
Success!

I tried clearing the Calendar Storage data, putting back the stripped XML file, rebooted... same issue.

THEN, I:
  • Uninstalled Calendar Storage via NT Hidden Settings
  • Pasted back the stripped-out XML file
  • Rebooted
  • Reinstalled CalendarProvider via adb
  • Rebooted via adb
  • Toggled the Calendar sync in Accounts & Sync

And alas, my full calendar is synchronized with my rooted 1.4.1 NT. Black art indeed, but what a relief.

Thanks for your assistance,

Bill
 
  • Like
Reactions: CSX321

brianf21

Senior Member
Oct 27, 2010
626
480
Davie, FL
I did it, but with a with a slight change. I installed the calander apps from your link at the same time as I installed gapps. Once I added the user account, everytime worked. I was testing something else and I had to redo my system. I wanted to test this clean install method. Before, I tested the new method, I tried you method and it worked like a charm. Thanks for the discovery.

Sent from my Transformer TF101 using Tapatalk
 
Last edited:
  • Like
Reactions: snooch6923

DeanGibson

Senior Member
Apr 30, 2011
530
364
Seattle, WA
Calendar*.apk file location update

...
I couldn't find anything on getting Google Calendar installed and syncing to work on a rooted 1.4.1 Nook Tablet, but here is how you can do it:

First, download the Calendar.apk and CalendarProvider.apk files for Android 2.3 from here.

Notes:
  1. The link you provide above is obsolete, but the files can be extracted from the NT 1.4.0 "acclaim_update.zip" file.
  2. I just copied both Calendar*.apk files to /system/app/, set the permissions, rebooted, edited packages.xml as you described (see below), and rebooted again.
Here is an automated way to edit packages.xml (assumes you have busybox installed):
Code:
cd  /data/system
cp  -p  packages.xml packages.xml.bak
sed  -ir  '/calendar/s: (sharedUser|user)Id="[0-9]+"::'  packages.xml
 
Last edited:
  • Like
Reactions: CSX321

fb_hexedit

Member
Sep 25, 2009
7
3
Calendar

After rooting via brianf21's sd card files for 1.4.1.. I downloaded depreciated files Calendar.apk and CalendarProvider.apk from link noted as such in the first part of this thread.. then copied the files over to nook tablet.. then I used root explorer to copy these same files to system/app .. I reset permissions to match other system apps in that directory and rebooted. Then used hidden settings app to select sync for calander and gmail.. gmail I installed from the market. Calendar and gmail in sync and working nicely. Just posting because I did not need to edit any files, so this may be an easier way.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    I finally have everything set up and working the way I want on my rooted 1.4.1 Tablet, so I thought I would share.

    I couldn't find anything on getting Google Calendar installed and syncing to work on a rooted 1.4.1 Nook Tablet, but here is how you can do it:

    First, download the Calendar.apk and CalendarProvider.apk files for Android 2.3 from here. (Update: DeanGibson has noted this link is obsolete, but that the files can be extracted from the NT 1.4.0 acclaim_update.zip file.)
    Next, copy Calendar.apk to /system/app with Root Explorer.
    Now use Root Explorer to copy /data/system/packages.xml somewhere such as /media/My Files/Documents, and use adb to pull it to your machine.
    Edit packages.xml with a Unix-compatible editor, and delete userId="___" and sharedUserId="___" from all the lines related to Calendar. I think there are either three or four lines. Don't delete the entire line, just the userId/sharedUserId attribute.
    Save the file, push it back to the Tablet, and use Root Explorer to copy it back to /data/system. (The first time I tried to paste it, I got an out-of-memory error for some reason. I just copied and pasted it again, and it worked.)
    Reboot the Tablet.
    Use adb to install CalendarProvider.apk.
    Reboot the Tablet.
    You should now be able to enable Calendar sync for your Gmail account in Account and Sync Settings, and your Google Calendar will work, as will apps that use it, such as Business Calendar.

    ---------------------

    Now for enabling sideloading. I tried NT Hidden Settings, but for some reason even the latest version didn't work for me to enable sideloading. I just fell back on the technique of manually enabling it in settings.db:

    Use Root Explorer to copy /data/data/com.android.providers.settings/databases/settings.db somewhere such as /media/My Files/Documents, and use adb to pull it to your machine.
    Make sure you have sqlite3 installed on your machine.
    From a command prompt in the directory where you have settings.db (all on one line):
    Code:
    sqlite3 settings.db "update secure set value=1 where 
    name='install_non_market_apps';"
    Push settings.db back to the Tablet, and copy it back to /data/data/com.android.providers.settings/databases using Root Explorer.
    Reboot the Tablet.
    Unknown sources in Applications Settings should now be checked and you should be able to sideload apps again.

    nook1.jpg

    nook2.jpg
    3
    Calendar

    After rooting via brianf21's sd card files for 1.4.1.. I downloaded depreciated files Calendar.apk and CalendarProvider.apk from link noted as such in the first part of this thread.. then copied the files over to nook tablet.. then I used root explorer to copy these same files to system/app .. I reset permissions to match other system apps in that directory and rebooted. Then used hidden settings app to select sync for calander and gmail.. gmail I installed from the market. Calendar and gmail in sync and working nicely. Just posting because I did not need to edit any files, so this may be an easier way.
    1
    When it comes up, the first thing to happen is the "Calendar Storage (process.com.android.providers.calendar) has stopped unexpectedly. Force Close".

    The only bright point is in the Account & Sync screen, where in the past I have only seen "Sync com.android.providers.calendar" in the list, it now just says "Sync Calendar" as in your photo. But it will not sync. If I examine my packages.xml, I again have the userId error in the lib path and uidError attribute in the calendar providers tag.

    Could this be the stumbling point?

    Hmm. I haven't had the Calendar Storage error, and I'm sure the userId error in packages.xml is an indicator of something, but I don't know what. I paid better attention during the most recent time through the process, and the only error I had was unrelated (an exception from a wi-fi management app I'm using).

    This most recent time I didn't technically reinstall CalendarProvider.apk, because adb told me it was still installed. All I did was edit those four lines and reboot, then go to Account & Sync and uncheck and recheck Sync Calendar, and it synced. The timing doesn't seem critical; I actually did it *after* I had already restored all the rest of my apps using Titanium Backup this time.

    It might be worth trying clearing your Calendar Storage data, removing all the userId/sharedUserId attributes (and the userId errors) from packages.xml again, and rebooting. I don't *think* it could hurt.

    This is a black art, isn't it? I wish someone else could also get it working! Based on searching online I feel like I may be the only person with Google Calendar sync on a Nook. I keep going back to my calendar, and making sure that, yes, it really is synced. I just created an event on my desktop, and about 30 seconds later it popped up in a notification on the Nook. Definitely working.
    1
    Success!

    I tried clearing the Calendar Storage data, putting back the stripped XML file, rebooted... same issue.

    THEN, I:
    • Uninstalled Calendar Storage via NT Hidden Settings
    • Pasted back the stripped-out XML file
    • Rebooted
    • Reinstalled CalendarProvider via adb
    • Rebooted via adb
    • Toggled the Calendar sync in Accounts & Sync

    And alas, my full calendar is synchronized with my rooted 1.4.1 NT. Black art indeed, but what a relief.

    Thanks for your assistance,

    Bill
    1
    I did it, but with a with a slight change. I installed the calander apps from your link at the same time as I installed gapps. Once I added the user account, everytime worked. I was testing something else and I had to redo my system. I wanted to test this clean install method. Before, I tested the new method, I tried you method and it worked like a charm. Thanks for the discovery.

    Sent from my Transformer TF101 using Tapatalk