Related
LATEST AND LAST EDIT TO THIS THREAD:
Download the new maps from Google in the marketplace for Google Navigation. Works Android Phones running the 1.6 platform.
No need to follow these instructions anymore!
---------
#Thought I would make a thread with clarified instructions on installing the new Google navigation on a G1 running Cyanogen's ROM. There have been a lot of #problems with the instructions in the other thread since the files supplied (namely build.prop and build.trout.prop) are not correctly referencing each person's #setup correctly.
#Instead of pushing generic prop files onto your phone, you can simply edit one line in your build.trout.prop file found in the system directory on your G1. #Thanks goes to aad4321 who posted it.
#The edit is simply changing the ro.build.fingerprint line to:
#ro.build.fingerprint=verizon/voles/sholes/sholes:2.0/ESD20/17572:user/ota-rel-keys,release-keys
#You can pull this file, edit, remount, then push back onto your phone to allow you install the new maps.apk. You can find the new maps.apk file in the #attachment. You can also find batch files to do all of the above, but is only guaranteed to work on the 4.2.5 ROM. All other Cyanogen version users can use #these files as well if they replace the build.trout.prop file with their own, and then edit the line as above.
#This method will keep all your apps intact, and not cause any problems with marketplace (protected apps not showing), google voice (force closing), facebook #(force closing), etc as reported in the other thread.
#<EDIT 1>If you get the errror "Device not found," make sure you have USB Debugging enabled in settings (thanks kizer).
#<EDIT 2>After performing a rm command, if you get a statement about the directory or file not existing, all is fine. Those rm commands are just trying to #find all possible places the old maps app could be stored, and so if it doesn't exist, you don't have to worry about it. Just go on to the next step.
#<EDIT 3>If you don't see the navigate function, install google voice.
#0) Connect phone
#1) Unzip downloaded file
#2) Run Part 1.bat
#3) When prompted to press any key, do so; the phone will reboot
#4) When your phone is running again, run Part 2.bat
#5) When prompted to press any key, the installation process is done.
#6) Make sure GPS is enabled
#7) Open Maps and press OK
#8) Press Menu
#9) Press Directions
#10) Enter an end point
#11) Click Go
#12) Just under "Show on map", click Navigate.
#13) If prompted to install the voice codec, do so.
#http://www.mediafire.com/?znzizmd1mmm
junker02 said:
Thought I would make a thread with clarified instructions on installing the new Google navigation on a G1 running Cyanogen's ROM. There have been a lot of problems with the instructions in the other thread since the files supplied (namely build.prop and build.trout.prop) are not correctly referencing each person's setup correctly.
Instead of pushing generic prop files onto your phone, you can simply edit one line in your build.trout.prop file found in the system directory on your G1. Thanks goes to aad4321 who posted it.
The edit is simply changing the ro.build.fingerprint line to:
ro.build.fingerprint=verizon/voles/sholes/sholes:2.0/ESD20/17572:user/ota-rel-keys,release-keys
You can pull this file, edit, remount, then push back onto your phone to allow you install the new maps.apk. You can find the new maps.apk file in the attachment. You can also find batch files to do all of the above, but is only guaranteed to work on the 4.2.5 ROM. All other Cyanogen version users can use these files as well if they replace the build.trout.prop file with their own, and then edit the line as above.
This method will keep all your apps intact, and not cause any problems with marketplace (protected apps not showing), google voice (force closing), facebook (force closing), etc as reported in the other thread.
0) Connect phone
1) Unzip zip to desktop
2) Run Part 1.bat
3) When prompted to press any key, do so; the phone will reboot
4) When your phone is running again, run Part 2.bat
5) When prompted to press any key, the installation process is done.
6) Make sure GPS is enabled
7) Open Maps and press OK
8) Press Menu
9) Press Directions
10) Enter an end point
11) Click Go
12) Just under "Show on map", click Navigate.
13) If prompted to install the voice codec, do so.
http://www.mediafire.com/?znzizmd1mmm
Click to expand...
Click to collapse
While I placed the files from his zip directly on my SDcard and used terminal to run the command, Junker's method appears stable. I have Google voice, protected apps in market, and functional Navigation. (can't answer for facebook, since I don't have an account.)
Note to someone who does not know shell commands...don't try and copy the ADB commands they are not the same. Know what you are doing before you do it.
Thanks for the post Junker02
i really dont get why there are like 325435412512 threads for this.
They should be condensed into 1.... and listed as separate options/ways to do it.
I had no connection then realized I didn't have USB debugging enabled.
Seemed to work fine.
krstnsn said:
i really dont get why there are like 325435412512 threads for this.
They should be condensed into 1.... and listed as separate options/ways to do it.
Click to expand...
Click to collapse
I believe the methods listed on the other threads are incorrect, or are more complicated than need to be (and possibly breaks other apps). I only found this method buried in the think-tank post, and though it was suggested for the OP to fix the first post, it never was. Hopefully others who are on Cyanogen's ROM will appreciate the info.
kizer said:
I had no connection then realized I didn't have USB debugging enabled.
Seemed to work fine.
Click to expand...
Click to collapse
Thanks for the tip! I'll add it to the first post.
junker02 said:
I believe the methods listed on the other threads are incorrect, or are more complicated than need to be (and possibly breaks other apps). I only found this method buried in the think-tank post, and though it was suggested for the OP to fix the first post, it never was. Hopefully others who are on Cyanogen's ROM will appreciate the info.
Thanks for the tip! I'll add it to the first post.
Click to expand...
Click to collapse
I agree, the other threads over complicate it and cause problems for those who don't know what they are doing. If they learned how to do it themselves there would be less questions and complication.
But then again, now this is just another thread about nav. Really, they should all be locked and something like what is in the first post should be put in the informative links thread.
wanted to thank you for instructions, possibly a better forum wiulda been q&a, as I go there to find answers and help solve some =) other than that this does clear some things up such as the ro line. Like in the other post it says almost same thing but fails to mention the line to change. Etc..etc... this did catch my eye and I was was about to try another method for my buddies phone and this saved me of searching through a thread. My penies, again ty.
junker02 said:
0) Connect phone
1) Unzip zip to desktop
2) Run Part 1.bat
3) When prompted to press any key, do so; the phone will reboot
4) When your phone is running again, run Part 2.bat
5) When prompted to press any key, the installation process is done.
6) Make sure GPS is enabled
7) Open Maps and press OK
8) Press Menu
9) Press Directions
10) Enter an end point
11) Click Go
12) Just under "Show on map", click Navigate.
13) If prompted to install the voice codec, do so.
http://www.mediafire.com/?znzizmd1mmm
Click to expand...
Click to collapse
I'm confused. Are you telling me that if I follow the steps outlined above that Google Navigation should work on my Cyanogenmod 4.2.5 ROM without any (google voice, market, etc.) problems?
scrappyabs2 said:
I'm confused. Are you telling me that if I follow the steps outlined above that Google Navigation should work on my Cyanogenmod 4.2.5 ROM without any (google voice, market, etc.) problems?
Click to expand...
Click to collapse
I had no problems, but I did it myself:
from scratch (no map mods, orig build.prop):
adb remount
adb pull /system/build.trout.prop build.trout.prop
open it with notepad and edit the line
ro.build.fingerprint=tmobile/kila/dream/trout:1.6/DRC83/14721:user/ota-rel-keys,release-keys
so that it reads
ro.build.fingerprint=verizon/voles/sholes/sholes:2.0/ESD20/17572:user/ota-rel-keys,release-keys
save it
adb push build.trout.prop /system/
adb shell reboot
now reininstall google voice from market and reinstall maps with the new one
help me out here man, i dont have adb, i just use my phones terminal
bigstunta101 said:
help me out here man, i dont have adb, i just use my phones terminal
Click to expand...
Click to collapse
ok, even easier, do you have astro?
you can navagate to the /system directory, copy the build.trout file to your sdcard directory. mount your sdcard and edit the file with notepad. copy it back over to the /system directory and reboot
then install voice and maps
or try doing the same from your pc using droid explorer
http://forum.xda-developers.com/showthread.php?t=558108
haven't tried it either way way but it seems like it should work
scrappyabs2 said:
I'm confused. Are you telling me that if I follow the steps outlined above that Google Navigation should work on my Cyanogenmod 4.2.5 ROM without any (google voice, market, etc.) problems?
Click to expand...
Click to collapse
Yes, that's exactly what it will do.
bigstunta101 said:
help me out here man, i dont have adb, i just use my phones terminal
Click to expand...
Click to collapse
The ADB app is included in the download. I'm not sure if it will work without the driver installed, but you can give it try and report back. Simply run the two .bat files and it will execute all the necessary ADB commands automatically.
Worse comes to worse, you would just need to install the driver for your phone.
Ok, here are the steps I took without adb, since comps at work do not allow USB write.
I uploaded the build.prop and maps.apk and sent them to my email using yousendit.com
Downloaded both into sdcard/download
Using "Root Explorer" navigated to /system and set it R/W (there's a button on the top)
Moved the build.prop to /system
Reboot
Install Maps
Reinstall GoogleVoice
Voila!
When I run the first batch file I get this errror: Device not found.
I've never gotten this message before. ADB was working fine for me a few days ago, before I reinstalled 4.2.5. Any ideas?
scrappyabs2 said:
When I run the first batch file I get this errror: Device not found.
I've never gotten this message before. ADB was working fine for me a few days ago, before I reinstalled 4.2.5. Any ideas?
Click to expand...
Click to collapse
Is your usb debugging enabled on your device?
Settings>Applications>Development
xavina said:
Is your usb debugging enabled on your device?
Settings>Applications>Development
Click to expand...
Click to collapse
Yes, its enabled. I swear I installed this navigation app on an earlier version of CyanogenMod and ADB worked just fine. Now it won't recognize my device. Please help me.
scrappyabs2 said:
Yes, its enabled. I swear I installed this navigation app on an earlier version of CyanogenMod and ADB worked just fine. Now it won't recognize my device. Please help me.
Click to expand...
Click to collapse
If you can't get the batch files to work, edit the batch files to see what commands are performed, and execute them in a terminal. There aren't that many.
junker02 said:
If you can't get the batch files to work, edit the batch files to see what commands are performed, and execute them in a terminal. There aren't that many.
Click to expand...
Click to collapse
adb remount says "error: device not found"
Here you go guys, safe simple and so easy a caveman can do it... (insert the, "If you break it, it's your own fault disclaimer here.)
Download the file in the first post of this thread.
extract the file on your hard drive and copy the build.trout.prop file and the Maps.apk, then put them on to your SD Card.
If you can't get this far....we have a bigger issue.
Then in terminal emulator type
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/build.trout.prop /system
reboot
When the device reboots then do this one in the terminal emulator
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
rm /system/sd/app/*Maps*
rm /system/sd/dalvik-cache/*Maps*
rm /system/app/*Maps*
reboot
*Note: Someone might say that the reboot at the end of this code is not needed. That maybe, but it worked just fine for me.
Now using Astro, or another file manager, install the maps.apk from the sd card.
If prompted, install the voice. I had it from other programs.
Turn on GPS
Open the drawer
Click on Maps
Let the Maps program find you
Then click menu, directions
Enter the destination, and click go.
It should show
Code:
My location
<the destination address you entered>
Show on map
[B]Navigate[/B]
Thanks for making clear instructions for the terminal emulator [email protected]
Everyone please remember that one can only use the build.trout.prop file in the first post if they are also running Cyanogen 4.2.5 on the G1, else you run the risk of app errors and force closes. If you are running a different version of Cyanogen, make a copy of your own build.trout.prop file found in your system directory, and edit it.
http://forum.xda-developers.com/archive/index.php/t-644769.html << I got my idea from there.
If you update the
Code:
/data/data/com.android.providers.settings/databases/settings.db
file so that "install_non_market_apps" = 1 instead of 0, you will be able to install non-market apps off of your sdcard or wherever.
This works for me at least, but you'll have to root first.
I ended up editing the file with the SQLite Manager firefox add-on.
But, since that took me a really long time, I'll just upload the edited settings.db for you. (don't forget to make the extention .db instead of .db.txt)
Now, as far as I know, this won't mess anything up... BUT, I'd feel a lot better if someone who knows more about Android would provide some feedback before anyone else tries this. [It works for me, but I'm not sure if any other user-specific settings are kept in that file that I don't know about!]
But, at least for me, I no longer need to use adb to install apks that aren't from the Android Market.
I hope this is useful to someone...
EDIT::
You will lose your settings if you use the attached settings.db.txt file. Your best bet is to pull the file off your phone, edit it with something that understands sqlite3's database format, and then push it back. It's just better that way.
Further EDIT:: As someone pointed out later in this thread, this file unbeknownst to me when I shared it, actually has a unique ID by which phones can be identified on the android market, etc. While this isn't a huge deal, it can lead to some rather strange behavior... my phone for example has started attempting to download apps from the android market all by itself.
So--- if you want to side-load apps, change the variable in the database like I explained above.
Sorry, completely new to android but where would you put this file so it would allow side-loading?
You'd have to replace
Code:
/data/data/com.android.providers.settings/databases/settings.db
with it. You'll have to have your phone rooted first though. Then you'll have to transfer the file to your phone with adb, and you'll then copy it over the existing settings.db file.
Honestly, it might not even be worth the trouble now that attn1 is just doing the whole ROMs.
But make sure you take off the .txt.
This works. Thanks.
For some reason, i'm getting a permissons error regardless that i successfuly rooted my phone...o_o
justince said:
For some reason, i'm getting a permissons error regardless that i successfuly rooted my phone...o_o
Click to expand...
Click to collapse
did you boot the phone and do adb remount with debugging enabled?
USB debugging? Yeah.
What i did was i used the other method to sideload root explorer, took the settings.db.txt, deleted the .txt part and replaced it via root explorer, and now i can sideload whenever...however, when i try to delete any of the att bloatware, its read only o_o fawking att
Can anyone confirm any other way to remove bloatware without flashing the rom?
justince said:
USB debugging? Yeah.
What i did was i used the other method to sideload root explorer, took the settings.db.txt, deleted the .txt part and replaced it via root explorer, and now i can sideload whenever...however, when i try to delete any of the att bloatware, its read only o_o fawking att
Can anyone confirm any other way to remove bloatware without flashing the rom?
Click to expand...
Click to collapse
That's why made the ROM without all that -er- stuff.
attn1 said:
That's why made the ROM without all that -er- stuff.
Click to expand...
Click to collapse
Attn's Rom is ****ing great. many thanks btw
a little help please
a bit confused..
how do i type in this code "/data/data/com.android.providers.settings/databases/settings.db"?
adb /data/data/com.android.providers.settings/databases/settings.db
or something else because that doesnt work.
fluffyarmada said:
I'm not sure if any other user-specific settings are kept in that file that I don't know about!
Click to expand...
Click to collapse
The only issue I see (as an Android newcomer, but with a development background) is that the settings.db contains an android_id that is supposed to be unique (it gets generated when you boot the phone the first time after a reset). So anyone installing your settings.db is going to have the same ID.
I'm sure it won't be an issue for most people but I wonder if there'd be a collision in any apps that are designed to communicate between Android devices? For this reason I'll be tweaking my own settings.db once the phone arrives later today.
Big thanks for posting this though!
Thanks for that, I honestly had no idea. I'm very new to Android. And this was a kludge.
fluffyarmada said:
http://forum.xda-developers.com/archive/index.php/t-644769.html << I got my idea from there.
If you update the
Code:
/data/data/com.android.providers.settings/databases/settings.db
file so that "install_non_market_apps" = 1 instead of 0, you will be able to install non-market apps off of your sdcard or wherever.
This works for me at least, but you'll have to root first.
I ended up editing the file with the SQLite Manager firefox add-on.
But, since that took me a really long time, I'll just upload the edited settings.db for you. (don't forget to make the extention .db instead of .db.txt)
Now, as far as I know, this won't mess anything up... BUT, I'd feel a lot better if someone who knows more about Android would provide some feedback before anyone else tries this. [It works for me, but I'm not sure if any other user-specific settings are kept in that file that I don't know about!]
But, at least for me, I no longer need to use adb to install apks that aren't from the Android Market.
I hope this is useful to someone...
EDIT::
You will lose your settings if you use the attached settings.db.txt file. Your best bet is to pull the file off your phone, edit it with something that understands sqlite3's database format, and then push it back. It's just better that way.
Further EDIT:: As someone pointed out later in this thread, this file unbeknownst to me when I shared it, actually has a unique ID by which phones can be identified on the android market, etc. While this isn't a huge deal, it can lead to some rather strange behavior... my phone for example has started attempting to download apps from the android market all by itself.
So--- if you want to side-load apps, change the variable in the database like I explained above.
Click to expand...
Click to collapse
NOTE: You MUST have root access in order for this to work
sqlite3 is included in the Android SDK tools, so this would be the best way:
COMMON
Enable USB debugging (settings > applications > development > USB Debugging)
adb remount
adb pull /data/data/com.android.providers.settings/databases/settings.db settings.db
Linux/OS X
echo "update secure set value = 1 where name = 'install_non_market_apps';"|./sqlite3 settings.db
WINDOWS
echo update secure set value = 1 where name = 'install_non_market_apps';|sqlite3 settings.db
COMMON
adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
Reboot phone and sideloading works. (thanks fluffyarmada)
I wonder if this might be why google voice fails to install properly for some...
Sent from my HTC Liberty using XDA App
Cobus said:
I wonder if this might be why google voice fails to install properly for some...
Sent from my HTC Liberty using XDA App
Click to expand...
Click to collapse
It is possible. The Google apps all use the android_id, afaik.
Although, I do remember I was never able to get the settings menu to setup the voicemail forwarding... I always had to use the weird GSM code. (The weird number with a bunch of * and # that you have to type in if you follow google's directions.)
judicious said:
a bit confused..
how do i type in this code "/data/data/com.android.providers.settings/databases/settings.db"?
adb /data/data/com.android.providers.settings/databases/settings.db
or something else because that doesnt work.
Click to expand...
Click to collapse
After you've rooted your phone, download the new settings.db into the same folder as where your adb program is. Then type:
adb push /data/data/com.android.providers.settings/databases/settings.db
in that folder while your phone is connect via usb.
I'm not sure if you have to restart your phone into recovery or not. Can someone check on this?
tiga2001 said:
After you've rooted your phone, download the new settings.db into the same folder as where your adb program is. Then type:
adb push /data/data/com.android.providers.settings/databases/settings.db
in that folder while your phone is connect via usb.
I'm not sure if you have to restart your phone into recovery or not. Can someone check on this?
Click to expand...
Click to collapse
Well, it's
Code:
$ adb push /path/to/file/on/computer/settings.db /path/to/file/on/phone/settings.db
So, if your settings.db is in your tools folder, then you can do
Code:
$ adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
what happen to the file download? i cant find it..
judicious said:
what happen to the file download? i cant find it..
Click to expand...
Click to collapse
Please follow the instructions posted by attn1 on reply number 13 to this thread.
I removed the settings.db, because it actually has a bunch of extra settings I didn't know about like a handset specific android_id variable... that caused me a bit of trouble...
But, follow the instructions on reply #13 on this thread, and you'll be able to fix it yourself.
Sorry for the inconvenience.
so if we already used the file, is there anyway to revert it back to default and then change the settings via the method outlined above? or.. if we failed to make a copy of our original settings.db file.. basically am i SOL?
EDIT: nevermind, just rebooted into Clockwork and wiped the phone.
I been performing this myself with great success, but you need ROOT access AND busybox installed. Create a folder on your phone's SD card called tmp. You'll need adb in order to adb shell, and gain root access. (in cmd, adb shell <enter> su <enter> confirm you are on a # prompt not the $ prompt)
Now copy and paste each line, press enter after each line pasted. Confirm the files copied after each line by running ls /mnt/sdcard/tmp/mmssms.db
Code:
cp /dbdata/databases/com.android.providers.contacts/contacts2.db /mnt/sdcard/tmp/contacts2.db
cp /dbdata/databases/com.android.providers.telephony/mmssms.db /mnt/sdcard/tmp/mmssms.db
cp /dbdata/databases/com.sec.android.provider.logsprovider/logs.db /mnt/sdcard/tmp/logs.db
cp /dbdata/databases/com.sec.android.app.memo/Memo.db /mnt/sdcard/tmp/Memo.db
cp /dbdata/databases/com.android.providers.calendar/calendar.db /mnt/sdcard/tmp/calendar.db
Once that is done, mount the phone to your computer and copy the TMP folder to your computer. When you flash the custom rom, you'll have to keep the SIM card out of the phone because you do not want new history items written to the log files.
Next ls -l /dbdata/databases/com.android.providers.contacts/contacts2.db (and the others) to see what permissions/owner they have, if you simply cp the files from /mnt/sdcard/tmp to their locations, you'll get force closes in the application (because it's not able to write log data).
Make note is the owner for each db file. Then back to adb shell, su, cd /mnt/sdcard/tmp (trust everyone knows to copy the tmp folder from PC onto your phone) cp contacts2.db /dbdata/databases/com.android.providers.contacts/contacts2.db (and the others!).
Once the files are copied back to their locations on the device, run the following:
Code:
chmod 660 /dbdata/databases/com.android.providers.contacts/contacts2.db
chown app_15.app_15 /dbdata/databases/com.android.providers.contacts/contacts2.db
Obviously you want to use the app_X.app_X you saw from running ls -l /path/filename before copying the backed up log file.
bravomail said:
This is quick comparative review.
Overall for KB1.
TiBu restore of system setting from JS32.2.1 or JS52.2.1 other than WiFi highly discouraged. I had uncurable Force Close for Browser and for MMS. Say g-bye to your messaging history, or find other ways of transferring it.
Click to expand...
Click to collapse
Original thread is here http://forum.xda-developers.com/showthread.php?t=969343
SMS Backup and Restore is a great app that does exactly what it's title indicates, without root.
https://market.android.com/details?id=com.riteshsahu.SMSBackupRestore
Call logs backup and restore also does exactly what it's title indicates, without root.
https://market.android.com/details?id=com.riteshsahu.CallLogBackupRestore
Both free and developed by the same guy, I've used both many times without a hitch.
I sync my contacts with gmail, so no problem there.
hauj0bb said:
SMS Backup and Restore is a great app that does exactly what it's title indicates, without root.
https://market.android.com/details?id=com.riteshsahu.SMSBackupRestore
Call logs backup and restore also does exactly what it's title indicates, without root.
https://market.android.com/details?id=com.riteshsahu.CallLogBackupRestore
Both free and developed by the same guy, I've used both many times without a hitch.
I sync my contacts with gmail, so no problem there.
Click to expand...
Click to collapse
+1
The manual method is pointless and extra work for nothing. These apps work flawlessly. I've used them many times as well.
I know there are apps which backup the same settings, my whole point for posting is I do not backup contacts with Google. So I kept trying different things until putting this together and I know it's a pain but all that really is done is copying and pasting lines into an SU adb shell.
askpcguy said:
I know there are apps which backup the same settings, my whole point for posting is I do not backup contacts with Google. So I kept trying different things until putting this together and I know it's a pain but all that really is done is copying and pasting lines into an SU adb shell.
Click to expand...
Click to collapse
You do not use google account or you just don't use it for backing up contacts...
I use a Google account but not to sync or backup contacts.
Sent from my SAMSUNG-SGH-I897 using XDA App
Thanks for good info!
Thanks for good info!
I personally don't care about my SMS history. Other people text a lot.
Another alternative is to use Google backup/synchronization. I never tried it. Anyone?
In my experience, backing up phone contacts using Gmail syncing is not 100%. Some fields in the on phone contact records are not properly carried into Gmail contact records and viceversa.
You'd think since Android is Google and Gmail is Google this would work flawlessly.
askpcguy said:
I been performing this myself with great success, but you need ROOT access AND busybox installed. Create a folder on your phone's SD card called tmp. You'll need adb in order to adb shell, and gain root access. (in cmd, adb shell <enter> su <enter> confirm you are on a # prompt not the $ prompt)
Now copy and paste each line, press enter after each line pasted. Confirm the files copied after each line by running ls /mnt/sdcard/tmp/mmssms.db
Code:
Next ls -l /dbdata/databases/com.android.providers.contacts/contacts2.db (and the others) to see what permissions/owner they have, if you simply cp the files from /mnt/sdcard/tmp to their locations, you'll get force closes in the application (because it's not able to write log data).
Make note is the owner for each db file. Then back to adb shell, su, cd /mnt/sdcard/tmp (trust everyone knows to copy the tmp folder from PC onto your phone) cp contacts2.db /dbdata/databases/com.android.providers.contacts/contacts2.db (and the others!).
Once the files are copied back to their locations on the device, run the following:
[CODE]chmod 660 /dbdata/databases/com.android.providers.contacts/contacts2.db
chown app_15.app_15 /dbdata/databases/com.android.providers.contacts/contacts2.db
Obviously you want to use the app_X.app_X you saw from running ls -l /path/filename before copying the backed up log file.
Click to expand...
Click to collapse
Are you doing all this above because
Code:
cp -p
failed to preserve attributes or something? Or do your fingers like the exercise...
Oh, I bet it's because it is that the attributes are getting scrubbed when they are copied off the device to your computer...
I only do this manual method because I want to retain my history and contacts between Roms.
Sent from my SAMSUNG-SGH-I897 using XDA App
I was asking specifically why you didn't use the "-p" preserve attributes flag when using the cp (copy) command. But I now realize your may be storing your backups in a way that blows away the info anyway. so you need to set ownership and permissions manually after restore..
Because I push the files to an external sd card which is copied to my computer.
Sent from my SAMSUNG-SGH-I897 using XDA App
TiBu does this, too. But thanks for the info. It's good too know how to do things manually, too.
Sent from my SAMSUNG-SGH-I897 using XDA Premium App
I don't think titanium backup will backup call history. It does get the contacts and calendar though.
Sent from my SAMSUNG-SGH-I897 using XDA App
I found this thread very useful for the restoration of all my recent messages!!
the backup i have done with smsbackup&restore is 12hour before the disaster
what happened? simply after a normal reboot my Desire HD was going to bootloop! i've tried several restore procedures but i find out that /data partition is somehow "bad", don't know why...
the only thing i can do is backup data partition with clockworldmod and unyaff it on a pc;
then i followed the instructions in the OP and i succedeed in making succesfully a backup of all my messages ;
the only difference is the different path in which mmssms.db is located in Desire HD:
i have in /data/data/com.android.providers.telephony/databases/
thank you again mate, very detailed guide
Glad someone found this useful! This is only compatible with Froyo roms, Gingerbread uses the /datadata folder and I haven't needed to manually backup the files because MIUI backup does it so amazingly well!
Well, this is pretty neat. I'm forever reflashing my phone and having to reload everything.
Which is a p-a-i-n..
One question though, is there anyway to do all this using "adb shell"? I'd love to incorporate this into a batch file I'm making, with the proper credits of course, and it'd be nice to press a button and have the PC do all the hard work.
askpcguy said:
I don't think titanium backup will backup call history. It does get the contacts and calendar though.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Super Backup from the Market does all 3:
https://market.android.com/details?id=com.idea.backup.smscontacts&feature=search_result
The apps in post #2 are great too.
Ticklefish said:
Well, this is pretty neat. I'm forever reflashing my phone and having to reload everything.
Which is a p-a-i-n..
One question though, is there anyway to do all this using "adb shell"? I'd love to incorporate this into a batch file I'm making, with the proper credits of course, and it'd be nice to press a button and have the PC do all the hard work.
Click to expand...
Click to collapse
I tried, I had sort of a working bash script but ran into problems trying to get the script root access to do the copying/restoring. Come to think of it, if you wanted to get fancy, you could make a clockwork mod flashable zip. One for backup and one for restore.
-Yes, I know there are apps which might do this however I wanted to learn on my own.
Well, yes, there are backup apps but you have to reinstall those apps and wait while they put your data back in bit by bit. Granted it may not take long but when you're reflashing what seems like once every five minutes, it can take forever!
The zip route seems like a good idea. That way, you can back up, install a rom and restore your details all from one screen. I'll have to have a look at it.
Sent from my U20i using XDA App
Greetings,
Just to make things clear, I have used the search feature. However, I am not clear on the answers that I am reading.
I need to restore or export 1 SMS thread (or entire mmssms.db, doesn't matter) from an old ROM.
Last week my ROM crashed, and I had to switch to a new ROM.
It was a Sense 3.0 ROM (phone is HTC Droid Incredible 2). I was playing around with the different lockscreen options, applied the Stocks Lockscreen, and when I locked/unlocked my phone to see how it looked, nothing but My wallpaper and the top status bar showed up. There was no way to unlock the phone. I had to yank battery to reboot. The phone feature still worked, as I could see the text messages come through on the status bar, and my phone rang, but no notifications cam up on the screen. I was stuck. I did a ClockworkMod backup (aka Nandroid?) and switched to another ROM.
I used unyaffs on my Ubuntu Machine to extract the contents of data.img.
I have the mmssms.db file from /data/com.android.providers.telephony/databases backed up.
Using "SQLite database browser" I can see a preview of the SMS thread.
Technically, I don't need the SMS thread on my phone. If I have a .txt that is neat, organized, and readable, that will be fine. I just assume that I should reinsert the thread (or entire mmssms.db) into my current ROM so I can use SMS Backup and Restore.
My ultimate goal is to be able to get the SMS thread into a text document or large screenshot, which I can send to some friends. It involves a joke/prank, and is quite funny....a bit hard to explain.
How can I get the old mmssms.db (or just one thread) into my current ROM, or into a text document (or something of the like)? I have read something that mentions adb...which I am now Googling to find out what it stands for....so you can guess the amount of knowledge I have on it...
I believe I made that clear....if it is not, let me know, and I'll edit/repost.
tl;dr?
* Need SMS message thread from old ROM
* 1) Old ROM crashed.
* a) Can't get in
* i) Made a backup
* 2) Unyaffed backup
* a) Saved mmssms.db
How to get SMS thread (or entire mmssms.db into new ROM or into text document on computer?
Thanks for all the help!
[::AP::]
Try this on your console, if you have usb debugging enabled.
It should let your phone boot without auto activating the lockscreen.
Code:
adb -d shell
# sqlite3 data/data/com.android.providers.settings/databases/settings.db
sqlite> update system set value=0 where name='lock_pattern_autolock';
sqlite> .exit
# exit
adb reboot
Edit: Wasnt there a post before saying, if you could get in, it would be enough?
Thanks for the response.
Yes, getting into the old ROM would be enough, so I could use a SMS Backup tool, email the texts, and forget about it.
However, I am pretty new to Android. I'm a bit lost with your explanation.
Console meaning....the terminal in Ubuntu (phone connected?)....Android SDK?
If you could go into more detail, that would be great. Thanks.
[::AP::] said:
Thanks for the response.
Yes, getting into the old ROM would be enough, so I could use a SMS Backup tool, email the texts, and forget about it.
However, I am pretty new to Android. I'm a bit lost with your explanation.
Console meaning....the terminal in Ubuntu (phone connected?)....Android SDK?
If you could go into more detail, that would be great. Thanks.
Click to expand...
Click to collapse
First thing you need to do is make sure you have the android sdk. The sdk are the tools that let you "communicate" with your mobile device through the computer. If you don't have it, google android sdk installation and you should be able to fnd the link. I tried to put the actuall link but I was able to because I don't have more than 8 posts, sorry.
Now you can remove and install files from your android device as needed.
1. Connect your phone to your computer.
2. Using your Linux Terminal, change directory to the platform-tools folder. On my Windows computer I type cd c:\android-sdk\platform-tools but your sdk folder might have a different name so you should type something like this: cd /sdk-folder-name/platform-tools
3. Now type in: adb devices and your devices should be listed. If you get a message saying No Device Found then you need turn on usb debug mode or you need the drivers installed on your computer for your phone.
4.If your device is found, you need to back up your current database by typing: adb pull /data/data/com.android.providers.telephony/databases "directory on your linux machine where you want the files to be save"
5. Now type: adb push "path to the mmssms.db file" /data/data/com.android.providers.telephony/databases and do the same for the telephony.db file. Both of these files must be pushed onto your device in order to see the text messeges.
6. You should be able to see your texts from your old rom now on your new rom. Once you're done just push your backed up mmssms.db and telephony.db file from your newer rom back into your phone.
I don't know of a way to combine the text so this is the way I do it. I hope that helps!
Sorry for the late response - I have been quite busy.
I'll try this out and let you know.
Thanks a ton,
[::AP::]
This is an old thread but I'd like to share my recent experience with restoring SMS messages. Today decided to try mod on my Nexus 6 running rooted stock Nougat. Did full backup with TWRP, tried the mod, didn't have use for it and did full restore. All SMS messages were gone. Checked mmssms.db sure enough size was 0. So why TWRP didn't restore is a good question.
The way is was restored is by extracting mmssms.db and journal from TWRP backup using Nandroid Manager and copying to my location /data/user_de/0/com.android.providers.telephony. Started messenger but still no messages. Opened terminal app and changed ownership and group on both files. After that everything was restored to prebackup state.
I'm trying to do the same thing between a Droid Turbo and GS4. The Turbo screen died, but the phone boots and can go to recovery.
VZW GS4 - 5.0.1
VZW Droid Turbo - 6.0
- I copied the entire /data/data/com.android.provider.telephone directory from the Turbo using ADB
- Copied Turbo mmssms.db to the S4 (renamed the old S4 file mmssms.db.bak)
- Set permissions to 660, radio:radio (as per the old S4 file)
After a restart, Messages showed the old S4 text messages, even though I renamed the original mmssms.db file.
In other words, the S4 shows the old message history, even though the mmssms.db file has changed!
- There were two other files, mmssms.db-shm, mmssms.db-wal
- Renamed these to *.bak
After a restart, Messages now shows no text message history.
When I copied the telephony.db files over, the Phone app went into a bootloop, with a constant repeating dialog that it had crashed. I had to go into adb to reset the files.
It looks like something else is needed to make Messages see the new sms db.
Dear Hjicons,
Could you please give exact commands and what to type in adb shell to change the ownership and group of the mmssms.db and the journal?
Thanks in advance.
I did it "on the fly" without adb, only using MiXplorer
On a rooted Moto G XT1032 running KK
Copy (replace) backed up .db files in data/data/com.android.providers.telephony/databases
set permission to 600 rw-rw---- and owner, group to 1001 radio on all newly replaced files
Terminate (kill) message app, relaunch it and you're good to go, without even rebooting.
I set long press back key to terminate (kill) app via GravityBox
The same you can do with phone calls .db (same dir), or Whatsapp .db, in com.whatsapp/databases, permission to 600 and owner/group Whatsapp, then kill and relaunch
all you need to do, is get the permission XML for from face camera device rom (used the one from VIVO), and push it system, via recovery.
adb reboot recovery; adb shell mount -a; adb push android.hardware.camera.front.xml /system/etc/permissions/; adb shell fix_permissions; adb reboot
done
....
PROFIT
PS: this is NOT a flashable zip. but anyone wants to make one, be my guest
thanks to Kali- for the tips
Pushed the xml to the permisions folder with no problems. Ran fix_permissions and rebooted, doesn't appear to have done anything. I can verify that the xml is in the correct folder but google + just doesnt want to do hangouts.
Nexus One running CM7
Any ideas?
EDIT: I was wrong, I thought I would be able to start a hangout but once I found an existing one I was able to join no problem. THANKS!
Qestion
Will it happen if you copy the "android.hardware.camera.front.xml" in folder "/ system / etc / permissions /" by Root Explorer, and then restart the phone?
jossna said:
Will it happen if you copy the "android.hardware.camera.front.xml" in folder "/ system / etc / permissions /" by Root Explorer, and then restart the phone?
Click to expand...
Click to collapse
Yes, you'll either need to manually change the permissions in root explorer to match all the other files in there, or run fix permissions as per the guide
Smtih said:
Yes, you'll either need to manually change the permissions in root explorer to match all the other files in there, or run fix permissions as per the guide
Click to expand...
Click to collapse
Thanks, I try it, but doesn't work
This is how I got mine to work
There were some permissions issues and my phone can't adb anymore for some reason (seems common with the Captivate), so I did the following from Terminal Emulator:
su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock2
# chmod 777 /system
# cp /mnt/sdcard/Downloads/android.hardware.camera.front.xml /system/etc/permissions/.
# chmod 644 /system/etc/permissions/android.hardware.camera.front.xml
[Restart into recovery mode]
[Advanced]
[Fix Permissions]
And it worked! You just can't create your own Hangouts from the phone. You can join others though using your back-facing camera!
Thanks OP!
Jason Schoenbrun
jason schoenbrun gmail
-------------------
Why does xda developers require we create user names? If there's anyone who knows this, please let me know as I'm curious.
I haven't created a non-email username since the days of AOL. Now I have to make a dumb-sounding faux name like "hotmama2385" all over again? I really wish I could use my e-mail address as my persona. If I can't, at least I'd like to know out of curiosity why the design decision was made to exclude that possibility. of course as a protection from spambots I'd want some of my e-mail address hidden behind a CAPTCHA.
I know some people are privacy focused and/or want to be able to troll anonymously. So why not allow a username which can take whatever form we chose - AOL-esque IDs or an e-mail address - as most login services allow?
As an aside, I have the same question for Twitter, which is the reason I haven't signed up for it. I pushed off signing up for XDA by a couple of years until I absolutely had to because of this, and rarely log in because I can't remember that stupid username. (I just started to a little more because of LastPass.)
Nice work... I'll try this one...
hello,
how to fix permission?
with a terminal
I'm not sure what command that is specifically from a terminal, but you can type adb reboot recovery and then fix permissions via menu option once in recovery.
yep, but the problem I haven t a recovery mode. I want to say no menu.
I have an HTC evo 4g with CM 7.2RC1.
I implemented this fix, and rebooted, but still, when trying to do a video call, it stays on "video initializing" and never seems to finish. I have the latest skype from market.
What to do?
just maybe
So I installed the sdk tools, and opened cmd, and then cd to where adb is. I then copy and pasted the entire string "adb reboot recovery; adb shell mount -a; adb push android.hardware.camera.front.xml /system/etc/permissions/; adb shell fix_permissions; adb reboot" and pasted that into cmd is that all I do. I tried dong just "adb reboot recover" and waiting till it entered recovery, but then I couldn't do anything. after I pasted the entire string, my phone rebooted, and took a sec then started back up normally it seemed. So I think I did it correctly.
Perfect!!! Thanks, works like a charm on my Nexus One
great on arc s for hangouts
It's working great on arc s to create hangouts, but it still does not enable video chat in google talk.
I really don't understand why front camera is a pre-requisite for it. I shall be able to see at least the other's video if he has a front cam, even if they don't see me. Any way to workaround this issue of googletalk? (either to trick it to use front cam or just to display an empty frame, but receive other end's video).
I tried the same to see if it would work for Talk on my Defy, but no success