A2SD users rating apps 1* for force closes... - G1 Android Development

Example:
http://www.cyrket.com/package/com.google.android.stardroid
As a developer, I am sick of the stream of spammorhea from users who are downrating apps that are crashing not due to poorly written code but because the user installed A2SD. You install and use A2SD at your own peril. If you are using A2SD and you experience force closes when non-A2SD users are not, I guarantee you 99% of the time it is because you are using A2SD.
DO NOT REPORT CRASHES OR FORCE CLOSES TO APP DEVELOPERS IF YOU ARE USING A2SD.
Developers have enough on their plate without having to troubleshoot the problems of users who are using extremely non-compliant Android environments. Uninstall A2SD and try again, go read a book, or shoot yourself in the head, but ffs do not report your crashes.

or like the people that rate 1 star on an app that says for cupcake only and they don't have cupcake. and complain it don't work.

one thing i just noticed since you posted the sky map app, i'm assuming your saying that program won't run with apps2sd. i have apps2sd and when i click on the app in my app list it pops up saying program not installed (guessing since running off sd). but i put it on my desktop and ran it it worked. any explanation.

whoops
this thread just forced closed, no apps to sd...???

supremeteam256 said:
any explanation.
Click to expand...
Click to collapse
That's part of the problem. Some folks are using symlink version, others are using unionfs version. Some have just /data/apps moved, some have dalvik-cache moved, some people move entire /data. Worse than the fact that A2SD mod is inconsistent with the standard android environment, each user's A2SD environment itself is also inconsistent with other A2SD users.
This kind of unorganized and mostly untested hack is a huge freaking headache for developers. Hackers generally release hacks as-is. That means that they usually don't need to have the hack thoroughly tested before release (part of the reason being they let the community do the testing). On the other hand, app developers, for the most part, have to provide support for their products. This support makes presuppositions about the user's Android environment, such as the security of the /system folder, the location of dalvik-cache, etc.
When taking a device outside of the boundaries of the official Android environment (that is to say by rooting and installing unsanctioned hacks), a user needs to understand that he/she may be causing program instability. Inexperienced users who install A2SD and other experimental hacks and then improperly attribute crashes to downloaded apps are hurting both the hacking community as well as the app community.

I concur. 90% of recent posts are newbies with no linux experience complaining about A2SD not working. It's no wonder JF stopped being involved on the forum.

I'm running JF v1.5 with my apps and dalvik-cache moved to sd (not data though) and just downloaded that star app. Works perfectly fine. I didn't use an app to move my a2sd though, I did it through adb.

While I understand the poster's frustration this topic could/should simply be narrowed down to a rant about people rating apps based on user error or poor judgment.
The large volume of rooted/apps to sd users in the android community is directly proportional to the poorly thought out memory amounts of the G1 phone. So in this case there will continue to be a lot more average joes to contend with.
So, before the Newbs are burned at the stake remember this is a symptom of a problem created by the very progenitors of the Android platform, they are responsible for the hordes of ill equipped G1 toting Linux newbs.

wyseman76 said:
The large volume of rooted/apps to sd users in the android community is directly proportional to the poorly thought out memory amounts of the G1 phone. So in this case there will continue to be a lot more average joes to contend with.
Click to expand...
Click to collapse
Seems like you're confusing proportionality with causality. However, sure I completely agree that a lot of the hacks on the xda-dev forums are a result of hackers wanting to fill in the gaps of stock Android. Necessity is the mother of invention, as it were. To that extent, I am not against the unsanctioned development of hacks for Android. In fact, I wholeheartedly support it. Android's openness (despite root-jails for carrier branded phones) is one of its unique strengths.
What I am railing against is newbies who jump right into a hack without reading the instructions and hackers who release hacks without enough testing or carefully written and concise documentation. That's somewhat like giving a loaded gun to a toddler. (Sorry for the melodramatic and cliche simile.)

i agree totally- i try and mark those kind of messages as spam on the market,.... i wonder how people actually rooted their phones if they are unwilling to read a bit more info.....

I've run both the symlink version of A2SD and the unionfs version. I set up both from command line, not the apps. I have no issues at all with Google Sky Map or indeed any other programs at the moment.
Personally, I blame the A2SD apps for the problems other users are having.

Hi,
I use 5.02h R4 app2sd with the above method and no problems with force closes with 65 apps installed.
It helps to use a class 6 card also.
Just used basic command lines, no scripts.
DOHCtor said:
I'm running JF v1.5 with my apps and dalvik-cache moved to sd (not data though) and just downloaded that star app. Works perfectly fine. I didn't use an app to move my a2sd though, I did it through adb.
Click to expand...
Click to collapse

DOHCtor said:
I'm running JF v1.5 with my apps and dalvik-cache moved to sd (not data though) and just downloaded that star app. Works perfectly fine. I didn't use an app to move my a2sd though, I did it through adb.
Click to expand...
Click to collapse
I used the script and have everything moved to my sdcard. The result after installation of the app was an error message stating Sky Map wasn't installed. I then decided to reboot and the app worked fine.

Just an addition to my post, I moved everything to SD - dalvik-cache, /data/data etc and no problems at all.

The browser force-closed on me, where can I rate it 1*?

I have a feeling that a lot of the crashes/force closes are due to the speed of the SD card. Let's face it the OS expects a certain read speed and the SD cards can't quite keep up (class 6 works most of the time). When the OS issues a command and it doesn't execute in a given amount of time it assumes the app has crashed and posts a message asking if you want to force close it. Of course the correct answer is to hit wait.
It would be nice if the OS hackers could find out where this time limit is set and tweak it to be a bit more forgiving. This would probably solve a whole lot of problems people are seeing.

JaboJG said:
I've run both the symlink version of A2SD and the unionfs version. I set up both from command line, not the apps. I have no issues at all with Google Sky Map or indeed any other programs at the moment.
Personally, I blame the A2SD apps for the problems other users are having.
Click to expand...
Click to collapse
I am using JS 1.5, and I created the Symbolic Links using the Terminal Emulator. I moved Apps and Apps-Private. And Removed the respective folders from System. 95% of my apps work as is, I think I had to remove a couple for cupcake reasons, no biggie.
That SKY Program didn't work for me. I am going to try reinstalling it, and see what happeneds. Otherwise someone here said they also moved Dalvik-Cache, I may try that. I was assuming this was always a Cupcake Compatibility problem.
Edit: Using Class 6 MicroSD Formatted 7.5Gb FAT32 / 450MB Ext2

Just throwing in a my 2 cents. I have no problems with A2SD. Only issue that i've had is with open home, seemed like it slowed everything down. Never force closed just seemed slower than when it was ran normally.

Rekna said:
I have a feeling that a lot of the crashes/force closes are due to the speed of the SD card. Let's face it the OS expects a certain read speed and the SD cards can't quite keep up (class 6 works most of the time). When the OS issues a command and it doesn't execute in a given amount of time it assumes the app has crashed and posts a message asking if you want to force close it. Of course the correct answer is to hit wait.
It would be nice if the OS hackers could find out where this time limit is set and tweak it to be a bit more forgiving. This would probably solve a whole lot of problems people are seeing.
Click to expand...
Click to collapse
I don't think this is always the issue though. Specifically with this App on my phone. Wait will do nothing. As soon as you launch the App, it come up with Force Close Immediately. Almost like it expected to find data / something, somewhere and didn't so it had to close.
I dunno if this is a possibility with Symbolic Links, but maybe it saw the Symbolic Link and instead of following it, saw it wasn't a directory and crashed? While it was looking, or trying to store cache data perhaps?

I must say, trying to go to appstosd was one of the biggest headaches Ive ever experienced hugely because of the problems listed here. I have been through just about problem you can experience with appstosd and because I wanted to understand what was going on I finally figured it all out and have been able to run appstosd flawlessly for days now. All you need is to accept trial and error and BACK EVERYTHING UP!!!

Related

Applications to SD - WITHOUT PARTITONING (BETA TEST)

I'm looking for beta testers for a new App2SD implementation that does not require your MicroSD card to be partitioned which is potentially unsafe and can result in a loss of your data. If you'd like to test this new implementation before it's release here on XDA shoot me an email at [email protected] with what firmware and version you're using.
More information will be released after I get a few positive beta tests out of the way.
loopback device, eh?
I tried that a while back but never could get the loopback driver to load early enough in the boot process reliably.
Hope you have better luck than I did.
As [email protected] pointed out to me a while ago, this is not a good idea for security reasons. If your loopback file sits on the FAT partition, it is accessible by all of the apps, it can be read, overwritten and deleted by a rogue app bypassing the entire android security model. If this is what you intend to do, it's probably not "safer".
Hey, shot you an email. Ready to try it out. But only for beta.
Hit me up, I have no apps to lose.
But security? Idk just let me know whats up.
what happens when you mount the SD card to your computer?
I'd like to try it, but i don't yet have a class6 sd card. Is that necessary?
i'd be willing to give this a shot. I have no data to lose as well.
southsko said:
what happens when you mount the SD card to your computer?
Click to expand...
Click to collapse
That's true. Won't all your apps disappear when you mount the SD?
This smells fishy not many app developers with 1 post can this be someone testing their new exploit/virus?No offense to original poster im just sayin....???
Edit:Sorry to OP clearly not a virus,and good luck on getting it stable I will gladly donate to your cause partitioning is a pain!
don't be a jackass, many people have had great ideas and decided to come to XDA to share them. just because you are a complete idiot who can't program does not mean that the OP is too.
@@OP
you are playing with fire my dear friend. i don't think that mounting your apps on the FAT32 partition is a good idea at all. not only because it would allow any program to access and write without asking android permission first, but because it would allow people to mount the SDcard and steal paid apps even easier. i beg of you please rethink your idea
I imagine the phone would be crashing when the phone is mounted to the computer. lol. just kidding. =]
tubaking182 said:
don't be a jackass, many people have had great ideas and decided to come to XDA to share them. just because you are a complete idiot who can't program does not mean that the OP is too.
Click to expand...
Click to collapse
WTF?Just came back to edit my post and put that its for real cause like I should have done first I found this http://noderat.com/loop2sd/.But as for your insults who the hell are you?How the f**k do you know what I can or can not do?I was posting in the first place to start trying be more active in the forums no reason for you to be a **** anyways,I was tryin to help people not get what I thought may have been a virus was that really that bad?
i'm not sure that is 100% true. when i mount my phone(apps2sd) my phone decides to mount the ext2 partion and the FAT32 partition, i am using ubuntu so my computer is able to read the partition, but my phone doesn't crash(i've yet to try running an app while mounted though)
Android can acces the sdcard while mounted.
Try terminal emulator.
crotalusfreak said:
This smells fishy not many app developers with 1 post can this be someone testing their new exploit/virus?No offense to original poster im just sayin....???
Click to expand...
Click to collapse
Well, take it from someone who has many posts and 15 years of unix experience, it is a bad idea.
Most of the devs here had this same idea, but as I mention in my previous post, this is opening yourself up to many bad security issues. To all those who answer, "I have no data to lose", that's fine as a beta tester. But what's the point in beta testing something that cannot be safely used by anyone who does have data (or apps) to lose?
I should point out to those who perhaps do not realize some the consequences of my original post, that it is not just a potential data loss problem, but a potential arbitrary code execution vulnerability. If an application manages to replace the loopback file with a new loopback file, it could inject altered common applications. If this succeeds, it means that previously trusted applications which have been granted privileges (or root using the various su apps) at install time, could be replaced with trojan versions which can have complete control over your system... steal your passwords... reflash your bootloader and literally install a permanent trojan... brick your phone... <insert other scary things besides data loss here>.
It's your phone, do what you want. I just figured that I would re-post that this not a new idea, but one that has been rejected by those of us with unix experience who realize the consequences. If you are just messing around, go ahead, it's not likely to hurt your phone. But, as a general method to build upon and be depended on, this should not have a future. If this becomes common practice, it is highly likely that exploits will be written to take advantage of this vulnerability.
So, if you are asking yourself if something is fishy, yes something is: it's a logical idea which seems great on the surface, but it has an unfortunate flaw.
Note: I am not suggesting malicious intent on the OP's part, just that they may not have thought of the consequences of suggesting this as a common method to do apps2sd. And if the OP (or someone else) is able to point out a method to avoid the things I warn against I will happily retract my statements (if I agree that this method would indeed work) since this method has some obvious benefits. However sadly, I think that is highly unlikely.
maxisma said:
Android can acces the sdcard while mounted.
Try terminal emulator.
Click to expand...
Click to collapse
No it can't. It can only access the empty mountpoint.
If you want to do this, there IS a way to make it work SAFELY....
Find the functions that control sdcard mounting and unmounting and FIX it so that it will mount an ext2 first partition. Then forget about the whole loopback thing as thats not going to do anyone any good... If you do it like this, then unionfs it, then unmounting the sdcard should safely vanish the apps that are stored on the card (leaving the internally stored apps), might crash the launcher, but that'll restart immediately and won't even error out.
A second step in the right direction would be to find the place where programs are detected from, which currently looks in /data/app, /data/app-private, /system/app, so it can clearly handle loading software from multiple locations -- add in a new path. Or maybe link app-private to /sdcard... A little more challenging would be to allow it look in multiple locations for thing that are ALL currently in /data/data and /data/dalvik-cache.
And then when its done, submit a patch for the source.
Wow what a response. Here's a few key bulletpoints:
I'm not a forum poster, not the kinda person for it but I have been on XDA Dream since I got my pre-launch G1 as a CSR.
There are potential security flaws with the current ext2 method of a2sd, and bypassing root to mount the ext2 partition is possible.
a2sd is not stable in any format, so it's a use at your own risk until android improves kinda deal.
I'm not cool enough to write a virus, but thank you for the ego boost
Anybody using a third-party firmware is not safe nor secure. If you're reading this forum you're not safe nor secure. The idea of homebrew roms is to add extra features that are not in Android to begin with and with that comes security risks. No ROM is ever perfect but I'd trust a Google or T-Mobile rom with my security before any homebrew-anything.So yes it's use at your own risk
This has the same results for mounting on a PC as MarcusMaximus's a2sd.sh
This doesn't really make it any easier to steal paid apps, it's always been easy and always will be but this doesn't change it.
If you guys have other questions shoot me an email, like I said I don't really do much forum-posting (never had much of anything to say, maybe this'll change all that)
[email protected]
JakeEv said:
I'd like to try it, but i don't yet have a class6 sd card. Is that necessary?
Click to expand...
Click to collapse
The faster the better but I've done it with the stock card that came in the G1 as well as a Class 6.
id try it since i can not get apps2sd to work.
[email protected]
using JF 1.51

Project: apps-on-sd to AOSP -- developers needed.

At the android-platform group, we've been hashing out a scheme for adding in official apps-to-sd support to AOSP. We have a couple of google engineers following along/helping out and are now at a state where the initial testing implementation (we're using an incremental development approach) steps are defined in a fairly simple manner and we are ready to start at it from an actual implementation details/start coding perspective.
The actual thread is located here: http://groups.google.com/group/android-platform/browse_thread/thread/bf0709c157451cd9
Basically, if implemented, it will do the following;
1) totally obsolete current hacker apps2sd approaches by allowing actual sdcard removal from device.
2) ultimately ship with devices stock (when in a state where it is easy to use, stable, and at least as secure for non-root users as internal storage currently is).
3) keep application data on the same device as the actual application with no side-effects (like internal apps being broken while waiting for second partition to mount).
4) allow MULTIPLE sdcards containing apps to be swapped on the same device.
5) allow sdcard containing apps to be swapped between DIFFERENT devices.
Note: 4 and 5 are not in the initial implementation, first proof of concept and working system, then enhancement with additional features. 4 and 5 are not requirements for inclusion in AOSP, but they are cool features that ultimately should be implemented.
What we need:
Several good developers, web storage w/source/patch management, etc.
Anyone interested, please read the thread to get an idea of the current state of thought, and please don't pollute that thread with nonsense. There is a current state of organization, and though not set in stone, it should be considered as NOT open for major architectural changes (i.e., the google engineers don't have any major problems with the proposal that we can't work through). Minor glitches and implementation details will be handled along the way. If you must pollute a thread with nonsense, use this one.
Really? Nobody AT ALL is interested?
This is the *ONE* major feature missing from AOSP!
Id PM twistedumbrella and cyanogen and shafty
JAC would prolly be interested but hes been busy with personal stuff i guess?
Just keep bumping this thread to keep it at the top. this needs to be done, and is long overdue on android...
It's a must
I'm sorry that I'm not a developer. Good speed!
I really don't think a2sd is a good solution at all (I've been following the discussion at android groups), rather, I believe the lack of an a2sd solution will eventually lead to device manufacturers to increase the amount of internal storage available on the device for applications (this is what this project is all about, isn't it, not enough storage for apps?) like Samsung did with it's Galaxy.
We shouldn't assume that a device is going to be used a particular way because then we'll run into problems. We shouldn't assume that an user will want to have their device used that particular way, be it partitioned or with a custom, secure filesystem stored in the SD. How do we explain that they'll lose some of their sdcard to app storage? If we make it automatic, how do we allow the user to disable it if they do not want it? How do we make it if an user wants to have one SD card with apps on it and another one without them?
Again I believe we should let the demand for more storage drive the evolution for the next android devices instead of just making it work and have manufacturers ignore the real need for increased internal storage.
I disagree with it not being a good solution. Technology is always advancing, but people can't always follow suit with what is the latest. Be it financials or whatever, Having this as an option will allow older hardware to run more efficiently, Bring costs down for manufacturers and give everyone more options.
@Jubeh, All the questions you raised I believe could be addressed, Have a new settings menu and let them choose. If they select it, it will give it pop up saying "x amount of space will be reserved on your SD card for app storage".
And with AOSP, Android is not just a mobile phone os anymore, It is a mobile platform. Imagine if you buy and download apps on your phone, You save them to your SD card because of this suggested add-in. Now you also own a media tablet that runs android, For example something with a bigger screen usually used for movies and gaming, Now if we had this you could put your sd card in that device and have all your apps like that. I think that would be an amazing feature for android.
I can think of big issues being encryption, piracy seems like it would be easy to accomplish with something like this, but again this should still be addressed and at least attempted to make available. It would be a huge step for the android platform. My 2 and a 1/2 cents worth
I dont think its a bad idea at all...
Jubeh while i agree with your ideas, we definitely need to get more on board memory. But things like apps, and even most cache's shouldnt hinder or take up precious phone storage. I mean seriously, are we hoping for gigs in the near future? Probably not, lol. But the apps2sd is something we can and should change now, to help bring on future ideas.
And what about those already locked into their devices, or where purchasing a newer improved version isnt feasable? Its hard to rationalize a new smart phone every year, even though we all do it, lol. But some bought the g1 hoping to not have to purchase a new device for multiple years, dont they deserve some kind of back compatablity as well?
Whether it should or should not be implemented is not open to debate. The objective is to actually IMPLEMENT it -- in a manner that meets the stability and security requirements of AOSP. One way or another, community needs WILL implement this system, problem is that the current implementations are just crazy HACKS --- unstable, unreliable, etc. As someone who WILL be installing applications to sdcard, *I* want the system to actually WORK PROPERLY, and I'm sure that not only most everyone else (with VERY VERY few exceptions...) does.
Also, the fact that anyone (jubeh) would bring up those completely retarded points about "assumptions regarding use cases" proves in no uncertain terms that they didn't read the thread linked to (even if they did make themselves look completely retarded by replying in it).
In other words jubeh: If you don't read before you reply, you will make yourself look like an a$$. Now run along.
Oh, and what did I say about keeping the NONSENSE out of that thread? Really... you need to learn to READ.
lbcoder, I have to hand it to you. You killed your project quicker than anybody else possibly could have. While many users wouldn't necessarily agree with what jubeh said, he was raising what he considered were valid points in a fairly reasonable manner. Instead of pointing out that you had already worked on those points and that you didn't want to rehash them, you trashed him (three times) and made it pretty clear that you would be an a$$ to work with. I wish you luck in finding devs who want to put up with that.
I think either member have the right to say what they please.
While lbcoder was a bit harsh, I can understand his frustration.
They're both senior members however, and have both have contributed MASS amounts to the comunity. If they want to hash out a problem so be it.
All its doing is keeping this thread at the top
sykokenndogg said:
I think either member have the right to say what they please.
While lbcoder was a bit harsh, I can understand his frustration.
They're both senior members however, and have both have contributed MASS amounts to the comunity. If they want to hash out a problem so be it.
All its doing is keeping this thread at the top
Click to expand...
Click to collapse
i agree. this should DEFINITELY stay at the top non-rooted g1 users at the very least should have these a2sd AOSP updates... and everyone else can just get the regular updates because they have enough internal memory
lbcoder said:
the current implementations are just crazy HACKS --- unstable, unreliable, etc.
Click to expand...
Click to collapse
Not to fill this thread with more nonsense but I have to disagree with you on saying the current apps2sds are just crazy hacks. Hacks? yes. Crazy, unstable, and unreliable? No. The new roms that are out currently automatically move your apps to your ext partition on startup if the ext partition is there. If not then the apps will not move there. The fact that you can dual mount your sd now also illiminates any FCs while you have the phone mounted to a pc. I am not saying that the method can not improve but anyone that is currently running an Enom or Cyan rom can tell you if you didnt personally create the partition then you would have no idea that the apps were on the sd.
Agreed, A2SD is stable
If you follow the directions, Apps2SD is more stable than most of the apps on it, imho.
I think the problem that people are having with stability involve the several ways to get there, the fact that each is a multi-step process, and Android users seem to run the gamut from someone who could hack into Sun Microsystem's payroll to someone who just got their first ,uh, smartphone. Most of us tend toward the latter. If you wrest the control from the user and automate it, then I think we'd see the last of A2SD instability.
Internal memory isn't just for apps, and I think it'll grow regardless. People like high numbers on boxes. WM (WP?) has had this since pre-turn of the century, and the demand for more phone memory hasn't decreased. As a matter of fact, the ROMs just grew, and grew, and grew.
Hey, it's cheaper, it's pretty much just as fast, and if it's easy, people will be able to figure out what the different partitions are once they get them and have to manage them, so it'll teach the masses. I'm all for it. Can't code for diddly, but I like the idea.
Yeah. Bump.
Edit: Yes, you will catch more flies with honey. In the friendliest way I can say it, lose the 'tude, or you'll lose out on a lot, lot, lot of other stuff, and you likely won't be able to figure out why things aren't working out for you. You can't really look back and say what might've been, either. You can, and please do, still say what you need to say, maybe even more, but *how* you say it really matters.
a2sd is FAR from being a stable, reliable, sane solution to the device's storage problem, I've said it time and time again.
Being "Senior Member" is in no way a measure of reliability, experience, or knowledge. I could fill 10,000 posts with 4/5ths of them being "Reported 10 chars" and be a senior member. Also, although I've tried to help where I can, I don't think I've yet contributed anything significant, mainly to avoid the barrage of posts afterwards asking how to make it work... and that brings me back to topic; the storage of apps on SD-card would be hell for carrier's support lines. The implementation is mostly non-existent in MASS MARKET headsets, and although you're right to point out that Android is making strides beyond the phone market, I believe the implementation would be shunned by google for several reasons; the formerly mentioned carrier support hell, both carriers and manufacturer's desire for handsets to become obsolete, google's desire to keep android appealing to both carriers and manufacturers, and possible competition in the thin-portable client and netbook spaces against it's own upcoming Chrome OS.
At this point already, the hope that the feature will "2) ultimately ship with devices stock" is pretty, pretty slim.
As opposed to what most members here might think, we're in the minority (rooted Dream users), and although a2sd does cater to some rooted users, we're still talking about the minority of Dream devices out there (since really, it seems the only reason behind implementing a2sd is the Dream's stock 70 MB app storage space, most other devices at least double that amount). Normal people (read: not us geeks) change devices often almost as a fashion statement, so any solution, if it did make it as an update, would be to support the desire of a small fraction of an almost obsolete device.
Besides, even starting with the way apps are currently handled by the device, it would require a major re-working of the platform to get this monstrosity working. Currently, apps are handled in two spaces, system apps, which can't be un-installed, and user apps, which can be un-installed, updated, etc, but not by the user, but by the package-manager. A better solution would be a third app space for sd-card installed apps. The system/package manager would not install these apks downloaded directly to the sd-card's fat32, rather, they would just show up on the app launcher (we could have scans for new apps every time an sd-card was inserted/removed). With donut's on-demand dexopting, we could create another directory in /data, say, /sd-dalvik-cache, or even leave the .dex in the sdcard while the app was in use and remove it when the app stops (and clear any .dex on sd-card mount), and create a third category of apps that could be installed to sd (in lieu of it, apps would get thrown into /data/app and moved back to sd as soon as one was available, of course, after prompting the user). This way, developers would be able to choose for their apps to be installed to SD and they could take the appropriate security measures to ensure the safety of their code, if that's what they want.
A2SD should have been an option for android in first place. Windows mobile has it, why not android? Is it stable and usable the way it is - sure. But what happens if I want to take out my sdcard and put it in a card reader?
It's one of the major failures of android along with it not supporting adhoc
networks, bluetooth obex as default and some other significant issues.
Don't get me wrong here - there are many things I love abut the platform but
flaws are there too. I've had winmo standart, winmo pro and now an android phone and in terms of "getting the job done" all three have their + and -.
The *current* mechanism to install applications on SD is an EXTREMELY hacky piece of junk.
Though it will work, it will only do so under the following conditions;
1) the user is fully aware of the limitations of the system and doesn't do anything that will stress it out,
2) the sdcard is *always* in the device, never removed.
3) it is impossible to use multiple sdcards in the same device.
Let me pose this question to everyone;
WHAT HAPPENS if you are using hack-apps2sd and you remove the sdcard? You know, just PULL IT OUT... This is something that "regular" users do *all the time*.
This is only one of many conditions that need to be managed by an apps2sd system before it can be considered for inclusion in a consumer device.
Needs to be done;
1) The user needs to be able to chose whether or not to enable apps-to-sd and must set itself up on the phone itself by just the click of a button.
2) The user must be able to SWAP SDCARDS at will. This includes the case where they just rip the card out without unmounting it.
3) When an sdcard is inserted containing apps, the system must automatically set it up and add those applications to the package manager.
4) UID collisions must NEVER happen.
5) External apps must be able to be sanely removed from the package manager upon unmount (planned or unplanned).
6) Processes with open file handles must be politely shut down upon a planned unmount.
7) Processes with open file handled must be CLEANLY killed off upon an UNPLANNED unmount.
8) PROTECTED-APPS must be copy protected when stored on the sdcard to at least equal security to that used internally, i.e. they should be encrypted using a randomly generated key stored in a root-only location within /data.
9) The user must be able to chose where to install a new application.
10) Application home directory and dalvik-cache must be stored on the same media as the application is installed to, i.e. internally installed apps should have their home directory and dalvik-cache stored internally, externally installed apps should have their home directory and dalvik-cache stored externally.
11) Optional: Ability to grow/shrink the amount of storage on the sdcard devoted to applications.
In other words, the user experience should be like this;
1) With a regular sdcard inserted (or no sdcard inserted), the user experience must not be any different than it is currently.
2) User can go to Settings-->SD card & phone storage-->(SD card) Enable application install to SD card. This prompts the user for how much space to devote to applications (default, say equal to internal), and then sets it up.
2B) optional -- user can go to Settings-->SD card & phone storage-->(SD card) "Change SD card space reserved for applications". Prompts for new size (min size = current space used, max size = current available + total sdcard available).
3) User goes to install a new app, if the card has application storage enabled, the installer asks where to install the application to (internal or sdcard).
4) User safely unmounts sdcard -- if applications are running, prompt "There are applications running on the sdcard (list them), these will be terminated. Continue?", terminates applications, removes them from package manager, unmounts.
5) User unsafely pulls sdcard -- if applications were running, message "These applications were running on the sdcard. They have been terminated and any unsaved data has been lost."
6) User inserts or mounts sdcard, system scans if application install is enabled on the card, if it is, the applications are added to package manager.
discussion management
lbcoder,
The thread at groups.google is definitely the technical thread, so I am using this one to comment on your reply dated Oct 30 2:39 pm.
Hands down I believe that for the sake of keeping the discussion open (one of the pillars of the scientific method) is to allow comments that may or may not agree with your or anyone else's point of view.
I agree on that Armando's idea is wrong, just like you do. Although he does have some valid points, which anyone who reads carefully can see. He is probably out of line writing what he did on the technical thread instead of here; and should be scolded for that. But not for sharing his thoughts. I won't elaborate on my own ideas on the matter this because it is not my purpose with this post.
My purpose is to ask everyone working on both this and the technical thread to tone it down, please. XDA sometimes becomes a battleground, sometimes funny and sometimes wasteful and even annoying and both this and the technical thread at groups.google could be very valuable for the platform.
BTW: I'm a well seasoned developer, with well over 15 yrs of experience and who leads reasonably big projects.
Thanks for the thread. It is well worth it, whatever the outcome is.
fosormic said:
lbcoder,
The thread at groups.google is definitely the technical thread, so I am using this one to comment on your reply dated Oct 30 2:39 pm.
Hands down I believe that for the sake of keeping the discussion open (one of the pillars of the scientific method) is to allow comments that may or may not agree with your or anyone else's point of view.
I agree on that Armando's idea is wrong, just like you do. Although he does have some valid points, which anyone who reads carefully can see. He is probably out of line writing what he did on the technical thread instead of here; and should be scolded for that. But not for sharing his thoughts. I won't elaborate on my own ideas on the matter this because it is not my purpose with this post.
My purpose is to ask everyone working on both this and the technical thread to tone it down, please. XDA sometimes becomes a battleground, sometimes funny and sometimes wasteful and even annoying and both this and the technical thread at groups.google could be very valuable for the platform.
BTW: I'm a well seasoned developer, with well over 15 yrs of experience and who leads reasonably big projects.
Thanks for the thread. It is well worth it, whatever the outcome is.
Click to expand...
Click to collapse
There is no place in this discussion for opinions. Its not about battling, its not about opinions, its not about any of that BS. What I am asking is for anyone INTERESTED in CONTRIBUTING (either in code, or in rational discussion regarding implementation details) to come forward and do so. Everything else is irrelevant and out of place.
As for his having valid points... not relevant since ALL of his valid points have been addressed. His purpose (if he has any at all) is therefore simply to disrupt progress.
And since he has effectively destroyed this thread with his nonsense, I may cease monitoring this thread. Anyone interested in contributing, please contact me by PM. Anyone interested in being disruptive, don't waste your time -- really, just go away.
lbcoder said:
The *current* mechanism to install applications on SD is an EXTREMELY hacky piece of junk.
Though it will work, it will only do so under the following conditions;
1) the user is fully aware of the limitations of the system and doesn't do anything that will stress it out,
2) the sdcard is *always* in the device, never removed.
3) it is impossible to use multiple sdcards in the same device.
Let me pose this question to everyone;
WHAT HAPPENS if you are using hack-apps2sd and you remove the sdcard? You know, just PULL IT OUT... This is something that "regular" users do *all the time*.
This is only one of many conditions that need to be managed by an apps2sd system before it can be considered for inclusion in a consumer device.
Needs to be done;
1) The user needs to be able to chose whether or not to enable apps-to-sd and must set itself up on the phone itself by just the click of a button.
2) The user must be able to SWAP SDCARDS at will. This includes the case where they just rip the card out without unmounting it.
3) When an sdcard is inserted containing apps, the system must automatically set it up and add those applications to the package manager.
4) UID collisions must NEVER happen.
5) External apps must be able to be sanely removed from the package manager upon unmount (planned or unplanned).
6) Processes with open file handles must be politely shut down upon a planned unmount.
7) Processes with open file handled must be CLEANLY killed off upon an UNPLANNED unmount.
8) PROTECTED-APPS must be copy protected when stored on the sdcard to at least equal security to that used internally, i.e. they should be encrypted using a randomly generated key stored in a root-only location within /data.
9) The user must be able to chose where to install a new application.
10) Application home directory and dalvik-cache must be stored on the same media as the application is installed to, i.e. internally installed apps should have their home directory and dalvik-cache stored internally, externally installed apps should have their home directory and dalvik-cache stored externally.
11) Optional: Ability to grow/shrink the amount of storage on the sdcard devoted to applications.
In other words, the user experience should be like this;
1) With a regular sdcard inserted (or no sdcard inserted), the user experience must not be any different than it is currently.
2) User can go to Settings-->SD card & phone storage-->(SD card) Enable application install to SD card. This prompts the user for how much space to devote to applications (default, say equal to internal), and then sets it up.
2B) optional -- user can go to Settings-->SD card & phone storage-->(SD card) "Change SD card space reserved for applications". Prompts for new size (min size = current space used, max size = current available + total sdcard available).
3) User goes to install a new app, if the card has application storage enabled, the installer asks where to install the application to (internal or sdcard).
4) User safely unmounts sdcard -- if applications are running, prompt "There are applications running on the sdcard (list them), these will be terminated. Continue?", terminates applications, removes them from package manager, unmounts.
5) User unsafely pulls sdcard -- if applications were running, message "These applications were running on the sdcard. They have been terminated and any unsaved data has been lost."
6) User inserts or mounts sdcard, system scans if application install is enabled on the card, if it is, the applications are added to package manager.
Click to expand...
Click to collapse
well the extremely hacky piece of junk took a lot of hard work from the developers here......show some respect

Beta testers wanted: NES, tool to manage data partition

Update 03/08/11
NotEnoughSpace has finally graduated to the Android Marketplace!
Beta testers can currently get it at its "thank you" price of $0.99.
I will set the regular price in a week so hurry
*** *** *** ***
Note #1: your phone needs to be ROOTED to use this application.
Note #2: so far, only tested on Droid Incredible and HTC Desire.
From the built-in help:
About this application
This application's goal is to help you understand and possibly work around a common vexation of using Android; i.e. these messages:
"not enough space"
"Low on space. Application data space is low."
What is happening?
You've checked your phone's vitals and it appears that it has plenty of space left, both internal storage and SD Card storage. So, what's happening?
Android allows your applications to store their data, primarily, in a dedicated partition whose size happens to be much smaller than even the phone's internal storage space. Generally south of 150 MBs.
This is the partition that fills up so quickly and that Android has been complaining about.
And the help goes on and on so I'll stop here.
The short version
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Additionally, you can use the app to cleanup the Dalvik cache but it's not the app's primary function.
Please, help test it!
I will gladly welcome any constructive criticism; I expect most of it to be along the lines of "The tool is not quite accurate" and that's what I wish to address first.
To create a debug report (these are very important):
Simply select the "Debug" menu and follow the on-screen instructions.
The whole email business is so that you can copy/paste from a desktop client.
The .apk can be downloaded from nexus.zteo.com/projects/beta/
Update 12/04/10
The application should now display correct stats for phones/ROMs that use Busybox. If you have already tested it and it said "NaN" please try it again.
This should be interesting, maybe kinda Android GpartED?
cyansmoker said:
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Click to expand...
Click to collapse
Curious, does this mean you can move and symlink data, or are you talking about Froyo Apps2SD?
teorouge said:
This should be interesting, maybe kinda Android GpartED?
Click to expand...
Click to collapse
Obviously not, he's managing what's there, he's not partitioning anything.. Did you read?
khaytsus said:
Obviously not, he's managing what's there, he's not partitioning anything.. Did you read?
Click to expand...
Click to collapse
Come on, what's the matter dude? I did read, and from what I read I thought whole partition handling was the only thing this app would be missing. Single files is a good start, but making that "kinda GpartED" would be killer. Though I fear you should be in bootloader/recovery to work on those, don't know how Android deals with them (i.e. in Windows you have programs you can change partitions size "on the fly" with). Now that I elaborated more, are you still angry?
This application would be genius. I'm wondering however, will the phone still be able to access that data once it is moved off of the system memory and onto the SD Card? And is it possible to actually partition the /data/data section so that it will use more than the allowed 150mb that it has, like open it up so that instead of it being partitioned to a small amount, it just roams free with the rest of the 748mb or whatever that is in the system memory.
A promising app, thanks.
Navigon, however, doesn't like its data to be moved to SD card. Even after moving it back with the app, it FCs (Android 2.1). I think I have to reinstall. So be careful if you're trying to do the same.
Edit: After reinstalling the .apk (without doing anything with the maps), Navigon works again. The packet installer didn't ask me if I wanted to replace the existing installation (as is otherwise usual in such a case).
Edit2: There seems to be a general problem. The next app I tried was mediaU. It has a large database which I moved (using NES) to the SD card. It also FCed after having moved its database, and restoring to the old location (again using NES) also didn't succeed. No error message during restore, but app still won't run.
Phone: Galaxy 3, Android 2.1 (original ROM).
mizch said:
A promising app, thanks.
Navigon, however, doesn't like its data to be moved to SD card. Even after moving it back with the app, it FCs (Android 2.1). I think I have to reinstall. So be careful if you're trying to do the same.
Edit: After reinstalling the .apk (without doing anything with the maps), Navigon works again. The packet installer didn't ask me if I wanted to replace the existing installation (as is otherwise usual in such a case).
Edit2: There seems to be a general problem. The next app I tried was mediaU. It has a large database which I moved (using NES) to the SD card. It also FCed after having moved its database, and restoring to the old location (again using NES) also didn't succeed. No error message during restore, but app still won't run.
Phone: Galaxy 3, Android 2.1 (original ROM).
Click to expand...
Click to collapse
Tonight I'm gonna try for sure and report back, this does look promising! Did you succeed with some apps?
teorouge said:
Did you succeed with some apps?
Click to expand...
Click to collapse
K9 seemed to work. However, I had to reflash for another reason, and now K9 reports its lib as being in the standard location (reported by NES). For now, I have stopped testing NotEnoughSpace so I can not say more.
mizch said:
K9 seemed to work. However, I had to reflash for another reason, and now K9 reports its lib as being in the standard location (reported by NES). For now, I have stopped testing NotEnoughSpace so I can not say more.
Click to expand...
Click to collapse
eh? K9 has native use of the SD card if you enable it... Why would you use this on it?
Thanks for doing this testing, guys.
I will install these apps and test them myself.
teorouge: you moved the database/ directory, is that it?
mizch: so, you re-installed K9 after reflashing, right?
Everybody: what about the "free space" numbers reported by the app? Do they seem correct to you? I had to use a dedicated algo to compute them, taking block size in account, and I've had reports of fairly surprising discrepancies.
Free space doesn't seem to update after moving, though I see the difference in the Titanium Backup count: tried for a couple of apps (G Earth and well... don't remember!) and it did move everything, free up space on /data and I can still use those apps. Still afraid to move many apps, just moving one at the time and test.
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Heres the debug report: 1:/dev/block/mtdblock6 268032 224572 43460 84% /data
2:62855 /data/data
3:4096/0/265352
Sorry - never mind; found the info in FAQ.txt after downloading
cyansmoker said:
Note #1: your phone needs to be ROOTED to use this application.
Note #2: so far, only tested on Droid Incredible and HTC Desire.
From the built-in help:
About this application
This application's goal is to help you understand and possibly work around a common vexation of using Android; i.e. these messages:
"not enough space"
"Low on space. Application data space is low."
What is happening?
You've checked your phone's vitals and it appears that it has plenty of space left, both internal storage and SD Card storage. So, what's happening?
Android allows your applications to store their data, primarily, in a dedicated partition whose size happens to be much smaller than even the phone's internal storage space. Generally south of 150 MBs.
This is the partition that fills up so quickly and that Android has been complaining about.
And the help goes on and on so I'll stop here.
The short version
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Additionally, you can use the app to cleanup the Dalvik cache but it's not the app's primary function.
Please, help test it!
I will gladly welcome any constructive criticism; I expect most of it to be along the lines of "The tool is not quite accurate" and that's what I wish to address first.
To create a debug report:
Simply select the "Debug" menu and follow the on-screen instructions.
The whole email business is so that you can copy/paste from a desktop client.
The .apk can be downloaded from nexus.zteo.com/projects/beta/
Click to expand...
Click to collapse
Do you have more details about this program anywhere? I went to the download page but see no further info...
Help Section Typo
Under A Quick user guide in your user guide(?) that prompts when you run the apk for the first time there is a typo in the last sentence:
You can touch any application to explore its content and figure out what is taking up some much space.
Click to expand...
Click to collapse
So far I havent run into any issues with the apk...
Not to burst anyones bubble, but Choose Install Location has been doing this in a comprehensive way for weeks. http://www.appbrain.com/app/choose-install-location-free/com.beidl.chooseloc
Free Memory?
bdt1995 said:
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Click to expand...
Click to collapse
I'm having the same problem as bdt1995. Running CM 6.1 RC1.. the only difference is the total memory is 196.2 and the free is:194.3 MB cuz I'm using a Nexus.. CM6 might be the problem?
bdt1995 said:
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Heres the debug report: 1:/dev/block/mtdblock6 268032 224572 43460 84% /data
2:62855 /data/data
3:4096/0/265352
Click to expand...
Click to collapse
Same here (total 196.2MB, Free 194.3MB, all apps 4KB), system details in my sig. Using apps2sdext, over 200 apps.
Debug info:
Code:
1:/dev/block/mtdblock5 200960 112144 88816 56% /data
2:96070 /data/data
3:4096/0/198951
Same problem as above with Cyanogen 6.02, However it looks promising.
I Think that moving data to standard SD can leads to security issue, because SD can be readed and written by any apps. Should be better if the app recognize /EXT partition, if exist, and move data here.
i'd like to try it and i get my lil sis to try it also she gets this problem a lot i have the droid incredible and my sis has the droid eris.
bdt1995, rnh16, britoso, mmorselli:
Thanks for the debug info. Indeed Cyanogen is a tad "exotic" for NES at this point.
Please download the latest version of NES -- I just uploaded it. It contains an extra debug line which should allow me to make it work so please paste your debug output here one more time.
JerseyFF:
Oops, thanks.
lhinsz:
Because it is a beta version, it hasn't been released yet and all the information you may need is contained in the Help screen. I tried to make it comprehensive.
BigNate:
Should work with HTC devices, yes. Could you or you sister paste her phone's debug screen here?
Zandog:
I do not think that both apps share the same goal so no lives should be lost (Seriously, not much of a bubble to burst?)

[Q] Android Developers, why are you treating my SD card like a garbage can?

This has been bothering me for quite a while, so I conjured a little story to help sooth my frustration.
Lets say my Android device is the new tenant of a nicely formated loft, this loft being 16gb of square space. To commemorate this new exciting space my device throws a house party. Most of the Apps he invites are pretty well behaved, but some start spilling drinks, then puking on the carpet, then having an orgy, then bukkake-ing the root directory. After discovering such acts, the device politely requests the disruptive guests force quit and leave. "I need more space on my phone." the device replied as each questioned on their way out. To his disbelief, NONE of the Apps cleaned up their mess! Even worse it seems some of the classier Apps, though more organized seem to have been influenced too. Unfortunately the device is forced to live with it, as the police force stopped responding to calls in his neighborhood. One man tries, but it always returns to a mess.
I hope that entertained someone.
i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...
PhxkinMassacre said:
i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...
Click to expand...
Click to collapse
I hope you understand about the unused folders and NOT the bukkake-ing!!
hello, nice story!
I won't say that I am even close to being a developer but I do develop some apps and the thing that I wan't to point out is that apps do not run when they are installed or uninstalled. It's not each application job to clear up the mess it may have created but package manager's which apparently leaves some files be just in case you would like to reinstall the app later(?)...
I would propose to look for a more efficient package manager or doorman/janitor for your loft
That's why I don't invite the guy whos only existence is to make farting noises!
Very good point. However, one thing I don't know is if uninstalling through the market cleans up the SD card better than using a third party mass uninstall app. Something you may want to experiment with.
Back at it again...
Here I am again, and I still don't flippin get it!
After reading some of your comments I realized my main point kind of got glazed over(no pun intended @Scudderb)
My big issue is that there's no hierarchy in place for this crap. In windows, program files are stored in the 'Program Files' directory. In Android (and I credit google and the developers for this sloppy BS) Apps are just throwing all their **** in with my stuff on the ROOT.
How is this acceptable. Seriously, HOW? And if its all cache files and/or temporary documents than WHY THE **** ISN'T ALL THIS CRAP BEING PUT INTO A TEMP/CACHE FOLDER.
I'm PISSED! Why does every app I install get to put their own folder on the ROOT WITH the FOLDERS and FILES that actually matter to me ex: like my music, pictures, movies, documents (OH and by the way, a lot of apps developers do a REALLY ****ty job with their NAMING CONVENTIONS so the folders being created may or may not even look related to the app that put it there!)
::end rant::
My apologies for the colorful language, folder structure and hierarchy are something I design as a web designer so when I see this crap going on in my phone like the inmates are running the asylum... I get angry.
Today I was cleaning up my SD card for the umteen'th time, and found that Foursquare was dumping its temp files directly onto the root of my directory. I blew my top and had to get it out of my system... so..
A MESSAGE TO ALL THE APPS PULLING THESE SHENANIGANS: GROW UP!
The problem here is that it's hard to do it right
For custom data, files are supposed to be saved into "/data/data/com.appname/blah" (that's from the top of my head, could differ slightly). That's the directory to use for data files, but there's one big issue with it: it's on the internal memory storage. We all know that internal memory on Android (without custom ROMs) is.. limited. That's probably why most devs are using SD for larger files.
There's also the "Android/data/com.package_name.blah/blah" directory on the SD card. This directory should be used by apps to store files into and is automatically deleted when the user removes the associated app (but only when you're running Froyo or greater).
The issue with this approach is that users (and developers too, when testing the app) will lose all their data when removing an old version of a specific app. Let's say there's a bug with the Market again and the app suddenly gets uninstalled. User will have to reinstall, result: data will be all gone. That's only one of the many doom scenarios.
I can't speak for other developers, but that's more or less the reason why I started to use a common directory outside of the preferred ones when I was doing apps. It's not a great situation, I fully agree. But would you rather have your data accidentally deleted?
If anyone knows a good way to get around this issue, I'd love to know more about it...
orly
Thanks for the reply @Stripeymilk
I can think of multiple solutions:
#1 Development community adopts a universal directory for files deemed 'User' or 'Save' data that should be stored for future use. (or Google creates this for developers)
#2 Development community adopts the practice of allowing users to pick the directory users want to store an apps data in. (prompt at app's first start)
#3 Store files/data in the cloud.
#4 Users dump trash in the lobbys/living-rooms of developer's and see how quickly they find a solution.
#5 USE THE "Android/data/com.package_name.blah/" FOLDER WHEN ALL YOU'RE REALLY DOING IS STORING CACHE/TEMP FILES!!!
BOTTOM LINE: Its not hard to do it right, Its just hard to get people to do it.
You make it sound so easy
1) I'm all for it, but Google needs to put its weight behind an approach like that because otherwise people will say "I like /Data better than /data or /Mydata or /MyData". It's a bit like coding conventions: everyone wants to be different.
2) Good for techy people, not so good for "normal" users. Could make it easier with a small "file manager", but that's too much work for indie devs. Could be a nice idea for a new open source project though.
3) Great idea, could actually work if the associated account would be created automatically (like in Cut the Rope for Android with Scoreloop), but:
- The backup functionality in Android for storing data in the cloud is available for API level 8 and greater, making it of not so much use when you're targeting API level 5 or 6 and greater. Could be fixed by using something like Google Storage combined with Jets3t instead, but that would be useless for apps written in C++, like many games are.
- Cloud storage isn't free. Developers can't pay for that as it would be too expensive. If every Android user would've gotten free cloud storage from Google it could be a nice alternative, but (yeah, there's always a but) most current users don't have that.
4) If you're prepared to send your trash by plane to another country, go for it!
5) Agreed. Useful for temp data.
I'm not trying to make it sound easy, believe me I know how it isn't. I'm trying to make it sound simple, because really.. it is...
In response:
1) I agree and this is exactly what I mean by the real hard part is getting people to do it. This requires widespread endorsement by developers big and small - that this is a 'best practice' that should be adhered to. I think the gate swings both ways though.
example: Twitter didn't invent hash tags, their users did, and with its widespread adoption, Twitter adopted/implemented it too.
2) Another good point, though this process can be curated to drive the user in the right direction (holding their hand). The XBOX 360 does this for every game you play, the first thing it does is ask you which storage device you want to use for game saves.
example: in combination with solution # 1, the default folder the app saves to could be '/data/theAppsName' and the prompt could say "This app saves files to your SD CARD in '/data/theAppName'. Would you like to choose a new location?" [Yes] [No] [?]. The [Yes] option brings up a simple file manager, the [No] option uses that location, the [?] option brings up an easy to understand write up on what its asking and why its asking it.
3) We'll get there eventually, my point really was if you've got the resources, why not. Its a solution better than #1 and #2
4) I plan on sending human clones to create trash individually and exponentially
5) AMIRITE~!
In all seriousness though, thank you @Stripeymilk for taking the time to go in depth and have a conversation about this. I seriously think it doesn't take an act of Godogle to solve this (to what I beleive) is a big issue!
I can't agree more with you.
As developer (Windows, iSeries) I try to make my programs as structured and readable as possible. The same goes for the files and folders used used by the programs, but sadly, even with all the available resources, some people (colleagues) make a complete mess of it, cause "that's not/less important", as long as the program does what it's intended to do ...
It's all about the resources and people using them the right way!
Cool, didn't know about the hash tags on Twitter
Well, we're on a great site here with developers on it. If everyone here would adhere to the same standard, it could at least be a nice push to make the Android SD card world a better place.
What's the directory we're going to settle on? Any pros and cons?

(Guide) A complete maintenance guide to pretty much any android phone

INTRODUCTION
This is a guide made ​​to with help from Xperia X10 users and developers for Xperia X10 users enjoyment but most of the tips contained here are suitable for any phone running Android. The tips contained here focus on WHAT to do to improve the performance of your phone and not HOW to do it, after all, once you know what must be done is to find simple tutorials on how to take these actions.
For some of the tips contained in this guide I assumed that you have just installed a new ROM or formatted / bought your phone recently and have root access but even without these prerequisites this guide can still be useful to most users.
It’s important to say that although most of the tips some are quite basic, some require a little more work and deal with the more delicate parts of your phone, they should be made ​​at your own risk. These more advanced tips often use very specific terminology which you can find more about on XDA Developers or even Google.
Finally I would like to remind that even machines that are made ​​within a few standards can operate in different ways: some phones take better advantage of certain adjustments and settings and not others so it’s impossible to guarantee one hundred percent efficiency for all of you but still I that you make good use of this guide.
Sincerely,
Guilherme "XOT" Oliveira
- Install a good ROM and a good Kernel
Official ROMs are good but custom ROMs are usually faster and in many cases as stable as official ROMs. This is because ROMs are released and thereafter rarely change, custom ROMs are already made by developers who are constantly improving their job to get the most out of your phone. It's very important to research before installing a new ROM, searching always for the one that meets your expectations and relates well with your device since the same ROM can work very well on my x10 but not as well on x10 my brother’s for example.
The same goes for Kernels, but with Kernels take extra care to make sure that the Kernel is compatible with your desired ROM and your phone.
- Keep clean your caches
Caches are good to keep certain information and have access to these faster but with these files and information some "garbage" is stored .
The solutions to this can be pretty basic or advanced, the most basic way is to enter your Application Manager (Settings> Applications> Manage Applications) and clear the cache for each application. It is important to clear the cache only and not application data as these may be important such as the files that resemble your progress in a game. Already the most advanced solution is to clear the Dalvik Cache and Cache Partition through your recovery.
Both solutions don’t need to be made ​​with daily frequency, for example I usually clean my caches every 45 days or when I feel that the phone is getting slow.
- Make a full, but clean, backup
Full backups (full system backup) like those made ​​by recovery or nandroid are great to store complete setups but when they are done with “dirty” files in the the phone’s memory restoring these files may worsen rather than help the situation of your device .
Ideally, do a full backup after completely configure your phone (configure your account, set your homescreens, install the required applications, etc.) but before using it for real.
That way if your phone starts getting slow and nothing works to reverse the situation you can easily go back to your “original” settings without the hassle of customizing everything in its way again.
- Do not touch the CPU / GPU the first day
Like people, phones also take a while to adapt to a new environment, or in our case new ROMs, so during the first 24 hours of use is important to use the settings of CPU and GPU that came with the ROM, no overclock, undervolt and things like that.
Another important step in the process of adaptation to the new ROM is really using and exploring the device in this very first day so it "get used" to the change. Do not mind the battery consumption, that should stabilize after a few days.
It’s also iimportant to remember that some ROMs already comes with overclock, undervolt and improvements in battery usage. In this case there is no problem in using these settings from the first minute because if they are there since the installation of the ROM, it is because they are part of the default settings already programmed and develop on this particular ROM and it will work better this way.
- Use the maximum your battery
Batteries seem to last less and less as time goes on, in part this is because your battery is uncalibrated and there are ways to fix it.
I will not talk much on this subject because it is very easy to find guides that teach you how to calibrate your battery so I’ll just recommend that you take a look at them.
- Applications: less is more
Having millions of apps is the glory and the doom of smartphones, the glory because you can do everything on your device and doom because of the following reasons:
As a computer your phone also slows down the as it becomes full and in most cases you can blame it on the number of apps that you have installed on it. So try to leave installed only the applications you actually use and uninstall the ones that you no longer use so you can have more free memory and consequently a faster device.
Some applications can not be uninstalled because they are system applications; in order to remove those apps you are going to need uninstallers that have root access (ex: RootUninstaller) which are capable of removing these applications but before taking such a measure is necessary to look for a safelist (a list of applications that can be removed without causing system problems).
Keeping a low number of applications but doing so by installing and uninstalling new apps every day also usually let the machine slower so if you find an application for a specific function that fits your needs you should stay with it instead of testing another 10 before returning to it.
PS: A good way to avoid testing several applications before finding the right one is reading reviews and comments before making your choice.
- Repair defective applications
Often the phone is working fine but a certain application or function is not, which can cause slowdowns and FCs (force close); depending on the situation there is not much to do but some of these solutions may take care of the problem:
The first thing to do is to uninstall and reinstall the apps via Play Store to make sure that the problem was not caused by a corrupted file when you downloaded the application, if the problem persists there are some more advanced alternatives: in the advanced settings of your recovery select fix permissions, this function should make sure that every application has the necessary permissions to work properly.
- Keep some free space
Full memory is often a problem on any device, especially in older phones like ours, after all the more files the longer it takes read all these files if it is necessary, so the tip is this: the more free space the better.
This step seems a little redundant since we already talked about having the smallest possible number of applications but this time we are also talking about other files. Anything occupying space on your phone is "bad"; too many photos, songs, text documents, etc.. can make the phone slower and lets be honest, you do not need to carry 150 photos of your last weekend with you all the time.
A solution to this problem is simple, try to keep the memory of your phone as free as possible by eliminating caches, unused files and moving applications to the SD card (Settings> Applications> Manage Applications> choose the application and select Move to SD card or use apps like Link2SD); your SD card should also be kept clean by eliminating unused files and traces left by already uninstalled applications, such traces are sometimes hard to find and applications like SD Maid can help you eliminate much of this "junk".
- Avoid keeping some applications running all the time
It’s very common to close an application and assume that it stopped running on the system but this is not always the case because it actually still cached in the memory of the device, Android makes it to be faster on reopening it later and often the system itself definitively closes the application automatically but that’s not always the case.
Firstly it is important to prevent certain applications from even opening and to do this we use apps known as Startup Managers, there are several options in the Play Store but I particularly like Autostarts. Once inside your Startup Manager you can choose which applications will be opened as the system is started or any action is taken (for example changing the state of your Wi-Fi); the ideal is to minimize the number of self-starting applications, leaving only the truly necessary ones without forgetting to be very careful to avoid stopping system applications because if they are unable to open themselves it can cause instability. Another way to prevent applications from opening or stay on cache all the time is to disable automatic updates of apps such as email clients and social networks but this is a more personal matter that varies from user to user, just remember that the more constant the updates are, the more time these applications will be running in the background and more power (CPU and battery) will be consumed.
Now that we’ve already took care of the self opening apps it’s time to find out when you really need an app to be closed for sure.
It's easy to know when to quit an application completely but it is necessary to first understand a basic concept about the system: applications and processes cached in memory are not always a bad thing, in fact as stated at the beginning of the topic they are a good thing because the application should open faster when launched again (hence the use of Task Killers usually worsens more than help if not done properly) but if you use an application to view the weather every morning and will only use it again the next morning this application can be closed without problems.
In our current official version of Android (2.3) already have a task manager that can be used to do this action (Settings> Applications> Running services > select the desired process and press Stop) but if you want a more advanced option there are several Task Managers that monitor processes and can be used to close them too.
PS: Again about the Task Killers: although its use is discouraged for the day-to-day because of the reasons already explained, if you plan on haevy gaming they can be the great saviors since these games need a lot of free memory to run without lags.
- SMS: clean your inbox
Message apps, both native and third-party tend to take quite some time to open if you have many messages on your mobile because everytime you run your message app it needs to load a large list of conversations, so cleaning your inbox periodically helps performance, the same goes for call log.
A tip for those who want to clear the messages inbox and call log without losing your information is backing up with applications like SMS BackUp + that emails you both your conversations and call logs, all within a specific marker so they won’t end up messing the inbox of your email or if your intention is to save only one or two most important message the native client and most ones available at Play Store have the option of forwarding SMS, simply by holding your finger over until the action menu opens up.
- Give your device a break
Like conventional systems for computers, Android also collects information in its memory and despite the “dumping information system” some of it is left in cache , which ends up requiring more processing on your device.
To end this there is a very simple solution: give a rest to the phone. Once a day or when you feel like the machine is running slow give it a reboot or shut down and leave it off for a minute or two before restarting, it should get rid of the cache and it can boost the speed of the phone, but attention: restart the machine and making it open up various apps on boot has no point so keep your boot clean (see related topic).
- About some specific applications:
Task killers (that goes for any app of this kind) are good for a heavy gaming experience (eg: GTA, Dead Space, Asphalt...) because those games need a lot of free RAM but for everyday use is preferable to don't use task killers and keep some of the apps in the cache so they open faster when they are requested again.
Deep sleep is an important part of the ROM performance when it comes to battery usage, applications like CPU Spy can check if this function is working correctly or No-frills CPU Control which in addition to monitoring provides the ability to adjust the frequencies and governors you want to use in your phone.
Chainfire3D is an useful app to change the way your GPU will work and customize it to gain performance or quality , notice that these values ​​tend to be inversely proportional.
Try always to use the lightest possible applications, it helps in memory. I for one think the galleries and music players of almost all default ROMs are too heavy and prefer apps like QuikPic and UberMusic.
Finally I would like to thank: XDA Users: Oodie, x10forevers, Vasishta Reddy, DiKeJ, 9Lukas5, FeraVolt, alzbac, Websites: lifehacker.com, limitlessdroid.com , doctor-android.com, androidcentral.com for helping with the tips on this guide and say that if you have a tip that is not in this guide feel free to share with us!
PS: I'm sorry if I made some grammar mistakes, English is not my first language and this is a pretty big article.
thanks...nice one..
Dude I screwed my music thing on x10 . Please help . Tried flashing xperia s music player . Now music icon has dissapeared . N power button seem to reboot all the time . Will updating binary files of xrec n then flashing again help ?
Please tel . Desperately.
Rooted x10 2.3.3 stock Rom
Sent from my X10i using xda premium
theMoiz94 said:
Dude I screwed my music thing on x10 . Please help . Tried flashing xperia s music player . Now music icon has dissapeared . N power button seem to reboot all the time . Will updating binary files of xrec n then flashing again help ?
Please tel . Desperately.
Rooted x10 2.3.3 stock Rom
Sent from my X10i using xda premium
Click to expand...
Click to collapse
Hey dude, I don't really know how to help you because I haven't had any similar problems but I'm pretty sure that you should try the basics: clear caches (dalvik included) and fix permissions.
Since I'm not a developer I can't really help you with the binary files but try reaching your ROM's developer and he might help you
I hope you get your phone fixed
Dude u sure that I should clear off dalvik cache ? I tried fixing permission but still nothing . The power button rebooting the phone is more irritating than not having a default music PLAYER . Im asking in this forum but havent got the solution yet :'(
Sent from my X10i using xda premium
Excellent post Buddy . Hope you update the thread with other power users opinions & Tips .
Thanks.
Oodie.
theMoiz94 said:
Dude u sure that I should clear off dalvik cache ? I tried fixing permission but still nothing . The power button rebooting the phone is more irritating than not having a default music PLAYER . Im asking in this forum but havent got the solution yet :'(
Sent from my X10i using xda premium
Click to expand...
Click to collapse
I think that the only people that can help you are the ones on your device's specific forum man, try creating a topic there
Sorry but I really don't know what to do to fix your phone
Some of the tips are a complete waste of time and utter crap (mostly those related to keeping RAM usage low and task killers [EDIT: actually, you contradict yourself on these points], giving the device time to "adapt" to the environment -seriously?- and going for the lighter apps -this obviously applies if you have an outdated device, but it's not a rule).
EDIT: Forgot to say that the rest is good.
GermainZ said:
Some of the tips are a complete waste of time and utter crap (mostly those related to keeping RAM usage low and task killers [EDIT: actually, you contradict yourself on these points], giving the device time to "adapt" to the environment -seriously?- and going for the lighter apps -this obviously applies if you have an outdated device, but it's not a rule).
EDIT: Forgot to say that the rest is good.
Click to expand...
Click to collapse
As I said the guide was wrote based on Xperia X10 user experience so it is kind of an old device.
About the RAM management you won't have any issues with a top device with a lot of free RAM but in our case (old device users) we have about 256mb or less RAM to work with so keeping it well managed is essential if you want your device to run smooth.
The adaptation thing seems like BS but it's not, because your device need to create/edit some files as its being used and that's what this part of the article really means. For example your battery writes a log about its own capacities (making a long story short by recalibrating your battery all you do basically is reset this log)
Thanks for the feedback, hope you found something usefull
GuilhermeXOT said:
As I said the guide was wrote based on Xperia X10 user experience so it is kind of an old device.
About the RAM management you won't have any issues with a top device with a lot of free RAM but in our case (old device users) we have about 256mb or less RAM to work with so keeping it well managed is essential if you want your device to run smooth.
Click to expand...
Click to collapse
No, it's not essential. It's actually bad.
The lifehacker website seems to be down, so I'm giving you a link to this article instead (the article itself links to three more detailed articles; one of them is the lifehacker article I wanted to link; do read them): http://androidandme.com/2011/11/app...lers-still-dont-give-you-better-battery-life/
EDIT: Regarding the battery, draining the battery (to 0% or close) is actually bad for lithium based batteries and should be avoided. A discharge to 15% is usually enough.
GermainZ said:
No, it's not essential. It's actually bad.
The lifehacker website seems to be down, so I'm giving you a link to this article instead (the article itself links to three more detailed articles; one of them is the lifehacker article I wanted to link; do read them): http://androidandme.com/2011/11/app...lers-still-dont-give-you-better-battery-life/
EDIT: Regarding the battery, draining the battery (to 0% or close) is actually bad for lithium based batteries and should be avoided. A discharge to 15% is usually enough.
Click to expand...
Click to collapse
I get your point and I also talk about the same thing as the article in the guide: "the use of Task Killers usually worsens more than help if not done properly" , I just didn't elaborated on this very much.
Now, what I'm saying is that if you are a day-to-day user you don't need a task killer and it's recommended ONLY for a gaming experience, aka heavy games like GTA, Dead Space, etc...
"Task killers (that goes for any app of this kind) are good for a gaming experience but for everyday use is preferable to keep some of the apps in the cache so they open faster when they are requested again."
I'm not a task killer fan myself but if you check any gaming rom (DikeJ's for x10 is a good example) you can see that the developers try to maximize the free RAM because those heavy games use a lot of it.
So in order to avoid this kind of confusion I'll edit the article to solve this misunderstanding thx for the heads up
GuilhermeXOT said:
I get your point and I also talk about the same thing as the article in the guide: "the use of Task Killers usually worsens more than help if not done properly" , I just didn't elaborated on this very much.
Now, what I'm saying is that if you are a day-to-day user you don't need a task killer and it's recommended ONLY for a gaming experience, aka heavy games like GTA, Dead Space, etc...
"Task killers (that goes for any app of this kind) are good for a gaming experience but for everyday use is preferable to keep some of the apps in the cache so they open faster when they are requested again."
I'm not a task killer fan myself but if you check any gaming rom (DikeJ's for x10 is a good example) you can see that the developers try to maximize the free RAM because those heavy games use a lot of it.
So in order to avoid this kind of confusion I'll edit the article to solve this misunderstanding thx for the heads up
Click to expand...
Click to collapse
Cool, thanks for that
Buddy, that guide is awesome written, excellent work. And big thanks for credits - I'm very proud that I could help in that "project" ^^. It's should hit XDA Blog . Cheers .
DiKeJ said:
Buddy, that guide is awesome written, excellent work. And big thanks for credits - I'm very proud that I could help in that "project" ^^. It's should hit XDA Blog . Cheers .
Click to expand...
Click to collapse
I'm the one who have to thank you
People please share your ideas so we can make this guide better!

Categories

Resources