I9000 moves the shared preferences to /dbdata/databases/[PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_preferences.xml
For other mainstream devices, shared preferences are in /data/data/[ PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_ preferences.xml
Everytime, when I uninstalled the application (my own or some other 3rd party's) in i9000, I found that the shared preferences won't be removed. It still exists in /dbdata/databases/...
this will lead to some serious problem: for example, I'm developing some app, and changing the shared perferences structure. when I debuged it (reinstalling, reinstalling the apps, finally I found my shared preference cannot save my configuration. everytime rebooting i9000, the configuration will be reset to the default value. When I change the configuration in UI and then look into the shard_pref xml, it never changes. The root cause is the existing xml is the old one. maybe UID even mismatched.
Is there any patch from Samsung to uninstall the apps completely?
we need remove not only the ones in /data/data but also the ones in /dbdata/databases/.
... Samsung, why do those vendors customize the phone so much?
no comments?
Interesting.
I have never heard of that (or a patch for that) before. But if I think about it... I am no unix expert but shouldn't you be able to mount /dbdata/databases/ into /data/data/ ? As long as the deinstallation routine has not been changed this could work^^
Edit:
Oh dear, I took a look, you're right thats really strange. I thought everything was relocated by samsung. It's not. My statement above is useless
feny_lf said:
I9000 moves the shared preferences to /dbdata/databases/[PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_preferences.xml
For other mainstream devices, shared preferences are in /data/data/[ PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_ preferences.xml
Everytime, when I uninstalled the application (my own or some other 3rd party's) in i9000, I found that the shared preferences won't be removed. It still exists in /dbdata/databases/...
this will lead to some serious problem: for example, I'm developing some app, and changing the shared perferences structure. when I debuged it (reinstalling, reinstalling the apps, finally I found my shared preference cannot save my configuration. everytime rebooting i9000, the configuration will be reset to the default value. When I change the configuration in UI and then look into the shard_pref xml, it never changes. The root cause is the existing xml is the old one. maybe UID even mismatched.
Is there any patch from Samsung to uninstall the apps completely?
we need remove not only the ones in /data/data but also the ones in /dbdata/databases/.
... Samsung, why do those vendors customize the phone so much?
Click to expand...
Click to collapse
Yes it's the sammy's "lagfix" since 2.2.1.
Uninstall apps with Titanium, it clears everything ! That's the only way i find (apart manual method...)
Can you give a symbolic link?
, why do those vendors customize the phone so much?
Same reason as users customize their phones .
jje
WiwiPouPou said:
Yes it's the sammy's "lagfix" since 2.2.1.
Uninstall apps with Titanium, it clears everything ! That's the only way i find (apart manual method...)
Click to expand...
Click to collapse
Sammy's lagfix? Do you mean there's no problem prior to 2.2.1?
My i9000 is 2.2.1 now, I don't have chance to check the previous versions....
This is a serious bug.
I have encountered this too and it makes the SharedPreferences completely useless.
Uninstalling and the re-installing an app will cause the app to never be able to change preferences again!
Is there a workaround for this that we can code in our apps?
I also experience this problem. Is there really no fix to this. Its damn irritating when I'm developing my app.
I have recently found out about this too.
I started an app to deal with this:
http://forum.xda-developers.com/showthread.php?p=12483276
Related
I apologize if this has been answered earlier.
I use a stock N1 with ADW.Launcher and a bunch of other apps. I recently noticed that even when I uninstall an app from my phone, there are some directories / files that remain on the phone.
Is there any reason why these do not get deleted when the app is unistalled.
May be the same answer as installers written for windows. If the developer didn't do a good job with cleanup, you get trash leftover you need to manually clean.
i agree with both above. i found devs dont do good with uninstalling and leaving folders left behind, i wonder if there is an app that clears them?
The best way is to realize what should and shouldn't be there and manually take care of it. To write an application to clean up after 50,000+ other applications that are messy. Would be a programming nightmare and I would not want to support such an application.
or someone could make some sort of app similar to those on pc, montors what and where files are being installed to so if uninstall doesnt take em out alteast you know where to look exactly.
Edit: better yet, the app itself can uninstall everything on the users request! now that would be an app i wouldnt mind paying a good buck for.
I agree, apps itself should uninstall everything with user consent.
Also I don't think a lot of us mind taking the manual route as long as we know what to delete ..
Any way to find out what files belong to what apps?.... or is it the same as on any unix/linux platform.
thats what i was trying to say. windows has a simple app that makes a txt file of all files being installed including registery. launch the app to monitor first, install like normal. in this case, the app itself will make a database of the app then the user can use that app to delete everything catched that was installed. that would be very nice. i find myself doing google search to see where files came from and when i see i uninstalled that i have to delete it myself. this would save me lots of time. i dont really worry about it though i have a list of apps i must install and with all the froyo i keep wiping the os to try new roms. until everything is stable ill worry then but for now im good.
garryvirdi said:
I apologize if this has been answered earlier.
I use a stock N1 with ADW.Launcher and a bunch of other apps. I recently noticed that even when I uninstall an app from my phone, there are some directories / files that remain on the phone.
Is there any reason why these do not get deleted when the app is unistalled.
Click to expand...
Click to collapse
do you mean the directories on the sd card?
Yes directories and files on the SD card.
-------------------------------------
Sent from my Nexus One
garryvirdi said:
Yes directories and files on the SD card.
-------------------------------------
Sent from my Nexus One
Click to expand...
Click to collapse
You could have data that could be reused if you decide to use the app again. Settings, preferences, keys, notes, photos etc..
I do hope that the default folder for apps defaults to something like /sdcard/appdata/ instead of the root folder /sdcard/ (unless explicitly set)
Say I download an *.apk file from some site or I get one from a friend, could it potentially harm my phone, cost me money etc.? Basically what I'm wondering is, when I install an app it generally says what the app has/wants access to, is this "warning" coded by the programmer to tell the user what it's accessing or is it determined automatically by built in functions? I don't want to install and app that has access to stuff that I'm not aware of.
Regards,
B
Edit: On a second note. Say I do download some harmful application, would uninstalling it solve the problem or could there be remaining harmful files still at work? The whole Android OS is sorta worrying me...bad experiences with Windows is making me cautious.
if you can think of it
there can always be a chance of happening
yes, a malicious hacker could do something like that
yes, a pissed programmer might including something like that into their apps to stop people from sharing their apps without buying it
yes, the apk might be legit but might have been corrupted some how
yes, you might be able to uninstall if lucky
but worse case scenario if i were a malicious hacker i wouldn't code a way to uninstall the app, instead i'll probably code a way to lock the user out of all access forcing you to Flash the phone from scratch
You didn't really answer my one major question, or maybe you did but I didn't understand. Are the services that the app is able to access programmed or are they determined by a function?
Well when installing I've resorted to checking a few things:
1) Make sure the app that I've downloaded is the same size as the one in the market (for equivalent versions...obviously)
2) Compare the system permissions when installing with those found at www.androlib.com
This way seems pretty safe to me. If the size is the same and the permissions are the same...you can be quite (not 100%) certain that they are legit/the same.
Ok heres the deal. Apps have 2 types of access.
1. Standard permissions
So if u don't do adb-install (where u dont see an app's permissions), then market / copy to sdcard and install from there u'll see the permission screen. An app cannot do something w/o permissions. If an uninstaller is askin for email permissions u know somethings wrong.
2. Root
Most dangerous. An app will ask u for 0 standard android api permissions. But when u run it, u will be asked for a superuser allow/deny request. From their its up to you. An app could do anything behind the scenes from tht point.
So read reviews/ user comments before trying root apps. Standard apps, just look over the permissions thts all.
FYI : The permissions are read by android, they're not user defined. Any permissions will always show up when installing it using the native package manager.
To be honest I wouldn't advise downloading an .apk from a non-trusted source. If its on the market, you're near certainly ok, and if its from a trusted developer (say from these boards, or some other similar dev portal) then again, you are likely to be ok. In the second case, you are unlikely to be getting a finished app if you get a straight apk from boards, because when they are finished or at least solid, they go to the app store anyway, so harm in that case is more likely to be of the force close variety rather than bricked variety.
Outside of that, I can't see why you would get an apk from a friend rather than downloading it yourself, simply because that way it makes certain you get a clean, non-corrupted version. If apps don't show up in the market for you, its mostly because your device can't run them, in which case, again, force close.
Uninstalling it is possibly too late. All smartphones suffer this issue though.
As mentioned, if you get the files from market though, you are likely to be safe..
Also, not all melicious programs are obvious..
Daneshm90 said:
Ok heres the deal. Apps have 2 types of access.
1. Standard permissions
So if u don't do adb-install (where u dont see an app's permissions), then market / copy to sdcard and install from there u'll see the permission screen. An app cannot do something w/o permissions. If an uninstaller is askin for email permissions u know somethings wrong.
2. Root
Most dangerous. An app will ask u for 0 standard android api permissions. But when u run it, u will be asked for a superuser allow/deny request. From their its up to you. An app could do anything behind the scenes from tht point.
So read reviews/ user comments before trying root apps. Standard apps, just look over the permissions thts all.
FYI : The permissions are read by android, they're not user defined. Any permissions will always show up when installing it using the native package manager.
Click to expand...
Click to collapse
EXACTLY what I was looking for. Thank you.
Btw, just because security on App store says an app can do stuff like make phone calls etc, doesn't mean it's malicious.
A few people were misled by an article that stated that apps with such extreme permissions were malicious, but it's untrue. It isn't always the case, but if an app uses functionality you don't believe it should, it's possible it is dodgy
andrewluecke said:
Btw, just because security on App store says an app can do stuff like make phone calls etc, doesn't mean it's malicious.
A few people were misled by an article that stated that apps with such extreme permissions were malicious, but it's untrue. It isn't always the case, but if an app uses functionality you don't believe it should, it's possible it is dodgy
Click to expand...
Click to collapse
Aye, I know. Thanks for the advice. I've actually been comparing any app I download off the internet to the actual ones on the market (size and permissions).
Hi everyone im a noob member to the site but have read some interesting threads before membership but as usual joining when i have a problem that needs some of your help
I have had a .apk file download to my htc desire running 2.2.2. I was browsing pics of the fake kind when it started downloading. i did see some letters and numbers before the file ext. It is not an official .apk that im sure off. I have searched for it on my phone but cannot find it to delete .
can anyone help please
After hooking up htc to my pc by usb lead, I have managed to locate the file by searching. It was in the download folder, I deleted it via the pc and then did a factory reset on htc.
Would this get rid of it safely
So a friend of mine updated his T-Mobile UK Samsung Galaxy S to the official 2.2.1 JPY firmware using Odin a few weeks ago. This went well, and is the same firmware that I've had on my unbranded SGS since December.
However, he has an interesting problem. Some of his apps (Handcent, Dolphin HD, plus a few others) seem to forget all of their settings every time the app is exited. For example, every time he goes back into Dolphin it enters the setup wizard as it it's being ran for the first time. This doesn't happen on every app, and it doesn't happen every time.
I noticed there are a couple of other threads on here with people reporting similar issues on custom ROMs (with no solution), but this is a stock ROM from samsungfirmware.com and certainly doesn't happen on my SGS, so it's not the ROM to blame.
Anyone know of a fix?
This question posted in the last few days .
jje
As I said in my post "I noticed there are a couple of other threads on here with people reporting similar issues ... (with no solution)". I wasn't being lazy and just starting another thread without doing some research first. I've read the other threads and they do not contain a solution that will work for him.
I'm assuming you're referring specifically to this thread? http://forum.xda-developers.com/showthread.php?t=992335 In my friend's case, rooting is not an option, so this solution won't work for him.
However, based on that it looks like a factory reset may fix it. If I don't come back people reading this can assume it worked.
Hello
I experimented the same issue.
Looking at some log traces event it reported some permissions errors on intestinal filesystem like database location access write errors. This can explain setting persistence trouble.
After various workaround, bypass or others kind of fallback I did a full reinstallation of filesystem including a wipe data of the system. Take care to backup application and sensible data SMS, photo...
Since all is working fine and no more problems with settings
I don't know if it's helping you.
This is just my personal experience on this same problem.
Perhaps more simple solution is possible
Regards
Gilles
Thanks. So far so good after a Factory Reset. If it were my phone I'd be looking at Logcat, etc, too, but it's a bit hard to do remotely.
It's odd how some apps saved their settings fine, but some don't.
A factory reset did fix it... for a while. But then other apps started suffering from the problem.
So I've been researching this a bit more today. Here's what I've discovered:
The problem is unique to Samsung Galaxy S phones, and appears to be only ones running 2.2.1 (but maybe 2.2. too?).
Samsung have renamed /data/data to /dbdata/databases, and shared preferences for applications are persisting in this folder even if the application is uninstalled. If you install the app again, the app becomes a different user from the one that owns the shared preferences.
For example - If you install some random application and you look at its process running with the ps command, it will show as "app_XX", where XX is some number. For our example here let's say it shows as "app_55". When it then saves its settings in /dbdata/databases the folder the settings are saved in will have owner (shown by ls -l) as "app_55" too. That's fine, and normal.
The seed of the problem is sewn when you uninstall the app. Those shared preferences are not removed. Even using the "Clear data" option before uninstalling doesn't seem to help. If you then install the app again and look at the output of ps you'll see the new app is "app_56". The shared preferences are still there from last time with owner "app_55", hence the permissions error when it tries to save its settings, as user app_56 cannot modify user app_55's files.
A factory reset obviously cures it as this, at least temporarily, as it wipes the data in /dbdata/databases.
If you're rooted, you can go into /dbdata/databases and delete the relevent folder for the application that's having the problem. It will be recreated with the correct owner next time the app saves its settings.
I didn't try chown to change the owner to the correct one, but maybe that's a way to keep the old settings and correct the problem.
Bingo. No wonder my titanium backup is not remembering the preference settings.
I didn't spot any thread around here covering the topic of debloating stock sony firmware. Not that it would be cluttered like other manufacturers firmware, but theres still room for improvement
Is there a guide somewhere or a list of all apk safe to disable/remove (provided root acces) on sony firmwares? Similar to a Samsung Galaxy S2 related guide here or another very exhaustive one here (<- preferred).
I'm from the X10i & the Arc forums, I use this as a guide
http://forum.xda-developers.com/showthread.php?t=1089470
Good Luck
* If you want to delete a app by Root-Explorer, don't update it by Playstore first before removing it. (Facebook)
* Some apps can be removed by Settings - Apps etc.
Sent from my LT30p using xda Hotline
Well on tx stock, I got the following apps disabled. ;/
my phone is running fine. From start up to everyday use.
This all depends on what functions you use for the phone. Deleting apps stops their functionality, so you always reduce the functions of the phone when deleting apps. It is persona l preference on which apps you want to delete.
However, there are plenty of apps that are "safe" to delete and still keep your phone working as a phone. The best way I have found of doing this is not by following other peoples list but by using Titanium Backup to "freeze" apps and then test the phone to see if it still works the way I want it. Then I could delete the app. If I ost some functionality I would defrost the app and no harm is done.
gregbradley said:
This all depends on what functions you use for the phone. Deleting apps stops their functionality, so you always reduce the functions of the phone when deleting apps. It is persona l preference on which apps you want to delete.
However, there are plenty of apps that are "safe" to delete and still keep your phone working as a phone. The best way I have found of doing this is not by following other peoples list but by using Titanium Backup to "freeze" apps and then test the phone to see if it still works the way I want it. Then I could delete the app. If I ost some functionality I would defrost the app and no harm is done.
Click to expand...
Click to collapse
What Greg says is right, but to add to it:
Apps that you can "disable" will not effect the functionality of the phone, you will just lose the function of the app in question.
Secondly, if you are using titanium back up to freeze system apps, and you are not sure what the app you are freezing does you might stop your system from working, so before you freeze anything you are unsure of, take a full backup first so you can restore it if your system becomes unstable.
Please post your results in this thread for others to learn from.
There is also a system app cleaner in flashtool, although I have not used it with the T yet.
Sent from my LT30p using xda app-developers app
gregbradley said:
Deleting apps stops their functionality, so you always reduce the functions of the phone when deleting apps. It is personal preference on which apps you want to delete. *snip* However, there are plenty of apps that are "safe" to delete
Click to expand...
Click to collapse
As for the first part of your post, I'm fully aware of. In fact thats the reason why I'd like to have some of useless stuff removed (numerous FB clients/apps/agents for example) But thanks for putting it here as other users might not be aware of the possible issues.
The part in bold is of most interest to me. I'm totally not an Android novice, I know most crucial system packages. Derping around in relatively pure Android releases like AOSP and CM10 and reading the same package names over and over again gives a feel what is Android related and what is vendor specific. For Sammy/Touchwiz I know which package does what, but with Sony I'm new and dont know which files are safe to remove without breaking the system. Hence this thread.
[email protected] said:
What Greg says is right, but to add to it: *snip*
Click to expand...
Click to collapse
Of course same as above. I do not use TiB though, I use an app called System App Remover. I know TiB very vell of course, but then, who doesn't But again, I'm not interested in getting informations what removing or freezing apk's means in general, I'm interested in which are essential to Sonys UI and will break the system if removed.
I'll have a look at the link provided to the Arc/X10 forums.
Gesendet von meinem ASUS Transformer Pad TF300TG mit Tapatalk 2
LitoNi said:
Well on tx stock, I got the following apps disabled. ;/
my phone is running fine. From start up to everyday use.
Click to expand...
Click to collapse
Yesterday I found out that disabeling Setup Guide resulted in me losing all APN settings and the phone refused to (automatically) recreate them. They got recreated without any fuzz after enabeling the setup wizard and running it. I'll eventually try to recreate this as I fight with myself if this connected or if I coincidentally hit a time where my network decided to derp on me.
schaggo said:
Yesterday I found out that disabeling Setup Guide resulted in me losing all APN settings and the phone refused to (automatically) recreate them. They got recreated without any fuzz after enabeling the setup wizard and running it. I'll eventually try to recreate this as I fight with myself if this connected or if I coincidentally hit a time where my network decided to derp on me.
Click to expand...
Click to collapse
not sure whats that got to do with it, Setup guide is one of the first apps i delte. Unless this an app from your carrier that loads the apn settings...mine are downloaded automatically from vodafone.
So, I wonder?
I've been digging through the system files in my unlocked, rooted UA v40, and except for the apps that came installed with the phone, there's also some in the root that didn't come alive, just taking up space? I know, there's no need to clear space, but I still wonder!? And it also seam to exist some dalvik even for the apps that never came alive in the first place?
Following today's Android rules, is it still possible to clear Dalvik?
Say, if I delete the apps in root/system/product that aren't even installed, will it scr.. something up?
I guess there's some kind of script executed while flashing the rom. If I delete apps (in the right place), and factory reset my phone, will that corrupt something? Is there a file (command/script) I can edit in root, that decides what app to install, to make this work?
Back in the days I deleted unvanted apps before flashing the rom, but I understand it's different today...
Not very important, but would be nice to know
Not a dev but thought I'd throw in some thoughts. We don't have any "stock based" dev to bug regarding stock fw really.
From my own digging through newer fw releases, it seems that LG hired some really lazy mofos as coders. Looks like they create new fw from old ones, then updated it to new versions plus some tweaks to suit the target model.
For a programmer that'd make sense since you already have the base code, you just change modules and libs as needed. However, in LG's case, their guys didn't bother to remove anything that was already there. They just kept adding on stuff. That's where you see the unused apps (and also explain why stock fw sizes keep getting bigger). Hell, I even found G8 specific settings in the service menu earlier today. Best I can tell, there aren't any symlinks that tie back to these unused apps, so, technically, removing them won't break anything. But given how sloppy the existing structure is, it wouldn't be surprising if it does either.
Now dalvik on the other hand, that' and interesting point. Since dalvik was dropped when google implemented ART, it theoretically, shouldn't even be on the phone. Where did you find those?
That's just stupid of LG
I mean, what does "Airmotion" do in v40? Hahaha!
Oh, I still say Dalvik, aware of art.
Thanks
This is what I mean
This is one of the apps that wasn't really installed to be used in v40. Is it normal that one of those apps still got art files? So if I was to delete this app, can I delete the linked art files too?
Can anyone port the v40 camera app for lg v30 pie?
This was my main question:
I guess there's some kind of script executed while flashing the rom. If I delete apps (in the right place), and factory reset my phone, will that corrupt something? Is there a file (command/script) I can edit in root, that decides what app to install, to make this work by factory reset?
neocyke said:
Not a dev but thought I'd throw in some thoughts. We don't have any "stock based" dev to bug regarding stock fw really.
From my own digging through newer fw releases, it seems that LG hired some really lazy mofos as coders. Looks like they create new fw from old ones, then updated it to new versions plus some tweaks to suit the target model.
For a programmer that'd make sense since you already have the base code, you just change modules and libs as needed. However, in LG's case, their guys didn't bother to remove anything that was already there. They just kept adding on stuff. That's where you see the unused apps (and also explain why stock fw sizes keep getting bigger). Hell, I even found G8 specific settings in the service menu earlier today. Best I can tell, there aren't any symlinks that tie back to these unused apps, so, technically, removing them won't break anything. But given how sloppy the existing structure is, it wouldn't be surprising if it does either.
Now dalvik on the other hand, that' and interesting point. Since dalvik was dropped when google implemented ART, it theoretically, shouldn't even be on the phone. Where did you find those?
Click to expand...
Click to collapse
I noticed that on the V30 already too.
Settings are enabled/disabled depending on the props set, and which device its running on, some you should even be able to activate/deactivate during runtime...
Makes things way easier to develop that way, yes... but also unneccessarily bloats the whole UI... should have set flags during compilation to fully exclude the code (e.g. how the HALs do that lol)