Workaround for Fixing 'Unsupported Sources'

Search This thread

fluffyarmada

Member
Jun 22, 2010
33
0
St. Louis, MO
www.fluffnet.net
http://xdaforums.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. :)
 
Last edited:

cropythy

Senior Member
Dec 11, 2009
271
7
Sorry, completely new to android but where would you put this file so it would allow side-loading?
 

fluffyarmada

Member
Jun 22, 2010
33
0
St. Louis, MO
www.fluffnet.net
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.
 

justince

Member
May 4, 2009
19
0
For some reason, i'm getting a permissons error regardless that i successfuly rooted my phone...o_o
 

justince

Member
May 4, 2009
19
0
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?
 
Last edited:

attn1

Inactive Recognized Developer
Mar 18, 2010
2,554
1,816
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?

That's why made the ROM without all that -er- stuff.
 

judicious

Senior Member
Nov 2, 2008
438
4
Bay Area, CA
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.
 

SiW73

Member
Jun 29, 2010
10
1
I'm not sure if any other user-specific settings are kept in that file that I don't know about!

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!
 
Last edited:

attn1

Inactive Recognized Developer
Mar 18, 2010
2,554
1,816
http://xdaforums.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. :)


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)
 
Last edited:

Cobus

Member
Apr 26, 2008
12
0
I wonder if this might be why google voice fails to install properly for some...

Sent from my HTC Liberty using XDA App
 

fluffyarmada

Member
Jun 22, 2010
33
0
St. Louis, MO
www.fluffnet.net
I wonder if this might be why google voice fails to install properly for some...

Sent from my HTC Liberty using XDA App

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.)
 

tiga2001

Member
Jun 28, 2010
47
3
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.

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?
 

fluffyarmada

Member
Jun 22, 2010
33
0
St. Louis, MO
www.fluffnet.net
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?

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
 

fluffyarmada

Member
Jun 22, 2010
33
0
St. Louis, MO
www.fluffnet.net
what happen to the file download? i cant find it..

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.
 

froggyarts

Member
Jun 23, 2010
41
0
Southern California
twitter.com
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.
 
Last edited: