This tutorial is for getting protected apps to show on the Android Market on your Samsung Galaxy Spica. It may work for other phones too, but your mileage may vary.
NOTE: I cannot take responsibility if you mess up your phone using these instructions. I try to go into reasonable detail here but different firmwares behave differently.
SECOND NOTE: This requires root. I also recommend backing up first using Titanium Backup.
The Android Market is a bit confusing on how it shows apps available to your phone. There are basically three categories of apps:
Before we start, check the Android Market from your phone using the Market app (the official Google one, not Appbrain or others). Search for "dr droid". There are two Dr. Droid apps, a free and a paid version and both are "protected" apps. If you can't see them, then your firmware probably isn't cleared for "protected" apps.
The first thing you can try is the Eris Market Fix. This works with some Spica firmwares (but not all). It doesn't hurt to try, here's the AppBrain link to the app: Eris Market Fix - Free - Android app on AppBrain
What that app does is change your firmware's fingerprint in your build.prop file. After you've applied it, you may need to reboot your phone for all the apps to show up on the Market. If rebooting doesn't work, try setting the date on your phone manually to 11:59 and let it go past midnight (this resets the Market cache sometimes, but didn't work for me). If this works, it's all you need to do.
The Eris Market Fix didn't work for me (I'm using firmware I570EXXJE1 on my Spica), so I figured out how to change my build.prop manually.
Step One: Get your build.prop file using adb:
This requires installing and using the Android SDK. You should be able to figure that out yourself. Once you do, use adb to copy your existing build.prop file by typing:
Step Two: Edit your build.prop file:
Now, edit that file from your PC with your choice of text editor. You might want to back it up / copy it first. Find the line that starts with ro.build.fingerprint= and replace the whole line with:
What this will do is let your phone pretend its a different phone (a Verizon Eris upgraded to 2.1) that's been approved by Google. As far as I know, this info is only used by the Market and isn't used elsewhere. Theoretically there could be other limitations for the Eris, but realistically I haven't seen any apps restricted by that exact phone. If you keep your original build.prop file you can always put it back the way it was.
Step Three: Put the build.prop file on your SD Card.
Easy step, move the edited version of the build.prop to your SD card using your phone or a card reader. If you've read it directly from your phone, remember to unmount it after so your phone can read the card again.
Step Four: Remount your phone's /system directory.
Using adb again, type:
This is temporarily removing the restrictions on the /system directory. Be very careful once you've done this, because you don't want to accidentally delete anything in that directory.
Step Five: Move your build.prop over the old one.
You should still have the adb shell open. Type:
Step Six: Reboot.
Exit adb shell (typing exit will do it) and then reboot your phone. Rebooting will set the restrictions on your /system directory back to a protected state.
Step Seven: Check the Market and remove cache if necessary.
Check the Market for "dr droid" again. If you don't see the apps, then try setting your time manually to 11:59 and let it roll past midnight. Check the Market again. If you still don't see the apps, you may have to delete your cache. Deleting your phone's full cache may require a factory reset on your phone and that kinda sucks, but you can avoid losing everything by first backing up with Titanium Backup. Since Titanium doesn't affect the /system directory you won't lose your build.prop changes from a backup and restore.
For deleting the cache, I used the Samdroid reboot recovery since I already had that installed. You should also be able to do a factory reset via the Settings menu in Privacy.
. . .
Hopefully someone finds this tutorial helpful. Again, I didn't go into absolutely full detail because I figure if you cannot figure out things like the SDK then you should think twice before modding your phone this way.
Good luck. =)
NOTE: I cannot take responsibility if you mess up your phone using these instructions. I try to go into reasonable detail here but different firmwares behave differently.
SECOND NOTE: This requires root. I also recommend backing up first using Titanium Backup.
The Android Market is a bit confusing on how it shows apps available to your phone. There are basically three categories of apps:
- Free & Unprotected - Everyone should be able to see these on the Market.
- Paid & Unprotected - People in certain countries can see these apps, based on your SIM card information. If you can't see any paid apps at all on the Market, you can try a program like Market Enabler that will mimic SIM info for other countries. I don't cover how to do that in this tutorial but it's easy to find how-to instructions elsewhere. I'm in Canada so I haven't had to worry about the country lockouts.
- Protected (Free or Paid) - If an app is set as "protected" then Google checks your firmware and only allows it to be seen if you have one of the firmwares on their accepted list. If you have flashed a firmware or have root, you probably cannot see these apps on the Market. That's what this tutorial will try to fix.
Before we start, check the Android Market from your phone using the Market app (the official Google one, not Appbrain or others). Search for "dr droid". There are two Dr. Droid apps, a free and a paid version and both are "protected" apps. If you can't see them, then your firmware probably isn't cleared for "protected" apps.
The first thing you can try is the Eris Market Fix. This works with some Spica firmwares (but not all). It doesn't hurt to try, here's the AppBrain link to the app: Eris Market Fix - Free - Android app on AppBrain
What that app does is change your firmware's fingerprint in your build.prop file. After you've applied it, you may need to reboot your phone for all the apps to show up on the Market. If rebooting doesn't work, try setting the date on your phone manually to 11:59 and let it go past midnight (this resets the Market cache sometimes, but didn't work for me). If this works, it's all you need to do.
The Eris Market Fix didn't work for me (I'm using firmware I570EXXJE1 on my Spica), so I figured out how to change my build.prop manually.
Step One: Get your build.prop file using adb:
This requires installing and using the Android SDK. You should be able to figure that out yourself. Once you do, use adb to copy your existing build.prop file by typing:
Code:
adb pull /system/build.prop build.prop
Now, edit that file from your PC with your choice of text editor. You might want to back it up / copy it first. Find the line that starts with ro.build.fingerprint= and replace the whole line with:
Code:
ro.build.fingerprint=verizon/voles/sholes/sholes:2.1-update1/ESE81/29593:user/release-keys
Step Three: Put the build.prop file on your SD Card.
Easy step, move the edited version of the build.prop to your SD card using your phone or a card reader. If you've read it directly from your phone, remember to unmount it after so your phone can read the card again.
Step Four: Remount your phone's /system directory.
Using adb again, type:
Code:
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
Step Five: Move your build.prop over the old one.
You should still have the adb shell open. Type:
Code:
mv /sdcard/build.prop /system/build.prop
Step Six: Reboot.
Exit adb shell (typing exit will do it) and then reboot your phone. Rebooting will set the restrictions on your /system directory back to a protected state.
Step Seven: Check the Market and remove cache if necessary.
Check the Market for "dr droid" again. If you don't see the apps, then try setting your time manually to 11:59 and let it roll past midnight. Check the Market again. If you still don't see the apps, you may have to delete your cache. Deleting your phone's full cache may require a factory reset on your phone and that kinda sucks, but you can avoid losing everything by first backing up with Titanium Backup. Since Titanium doesn't affect the /system directory you won't lose your build.prop changes from a backup and restore.
For deleting the cache, I used the Samdroid reboot recovery since I already had that installed. You should also be able to do a factory reset via the Settings menu in Privacy.
. . .
Hopefully someone finds this tutorial helpful. Again, I didn't go into absolutely full detail because I figure if you cannot figure out things like the SDK then you should think twice before modding your phone this way.
Good luck. =)