All over the web you’ll find a variation of this question for installing Android Apps on the SD Card of the T-Mobile G1:
How Do I Copy Apps to my SD Card?
Applications on SD Cards?
Saving apps to SD Card?
How do I backup Android Apps to SD Card?
Where do Android Apps install?
I spoke with Konrad Hübner of Skycoders, the dudes who brought you Cab4Me, to help answer this question.
Android apps are installed on the internal memory and there is nothing you can do against it. This is part of the security concept. Each app or more precisely all apps signed with the same developer certificate run in the context of the same Linux user and get file access through that user. There are user and group ids generated whenever you install an app. All data of the app, also created files, get the user and group assigned and thus can only be accessed by the app itself. In addition, each app (identified through its package) runs in its own Dalvik VM sandbox.
If you put apps on the SD card, this security concept (file access) is broken. That is why you have no choice. The described concept is only a part of the entire security concept, but it is the one responsible for not being able to install apps outside the internal memory.
The problem with the G1 is that the internal memory is much too small to install all the apps you might want to have. This is killing half of the Market right because of that “I need to uninstall” thing.
-Konrad
Bratman asked an interesting question in the comments about a software hack to get around this. We posed the question to some top Android app developers, here’s some of their responses:
Well, yes, due to the security model, you can’t change where the app is installed. But if your app is that large I’m sure whatever data makes it so bulky can be stored onto the SD card. The problem is that that data can’t be embedded into the apk. You’d have to download (or side-load) or something. An example of this model is the music player.
Rylan Barnes of Big in Japan (ShopSavvy)
I would expect that you can cheat the system by using symbolic links and moving the software to a different mount. This mainly requires root access (so this is where you need to hack the phone which most users probably do not do, at least the standard users) and support for symbolic links on the phone. As the entire security system works based on linux user rights and user accounts. I have no idea if this would really work. It might be a chance, but it is a quite tough hack.
As a short follow-up:
I played around a bit. With a standard formatted SD card it does not work. I copied the .apk file from the internal memory to the sd card and created a symbolic link. The phone then told me that the app is not installed. Maybe the sd card needs to be formatted with a linux file system and not the default FAT. So the first try failed. For that I even had to change the permissions on the file system to get the apk file off the phone as the mv command did not work (cross-device link error).
So it looks like this might need more work.
Cheers,
No software hack will work until Google itself adds it to the Android platform, which will take some time. To deal with the space issue on internal memory what we will be doing with the premium version of PicSay is to move all of the user data to the SD card. But the application itself needs to be on internal memory. [More can be found here: http://groups.google.com/group/android-platform]
Sorry peeps… looks like either we won’t have it for a while (maybe OTA update) or the G1 won’t get it at all…
We can survive this as long as a future android phone will carry at least 4 gb of internal memory. I constantly un-install applications, and clear up cache.
I certainly hope that they figure out a way either around this or a way to allow it because it severely limits what/how many applications we can take advantage of! If not hopefully someone figures out how to get me my root back after RC30.
that sucks
So there is not a software way to port the apps to the SD card so that it thinks it’s on an extended partition of the internal memory? It seems there must be a work around, leaving the small links in the internal but allowing the bulk of the app to exist as well as it’s collected data on the SD card
That’s a good question and approach… If it’s OK with you, I’ll forward this over to Konrad and a few other Android app developers to see what they think about it.
My assumption is, the built in security wont allow it, thus requiring some alteration to the core Linux OS.
Ask away! I want a fix, and you know there is always a hack…
What I don’t understand is why the Android folks haven’t at least moved mail storage and market/browser cache onto the SD card. Right now the Market’s taking up 12MB of space on my G1 and I can’t even clean it up. Rubbish.
sorry for the above ^^
all you need to back up apps to sdcard is astro file manager do a search for “astro” it has an application manager that allows you to save apps on to your sdcard for back up. if you want to install apps on you sdcard that’s another story.
First you need a rooted G1 if you have a g1 that is rc29 or earlier (to check this go to settings -> about phone -> and scroll down to build number you should RC-## if the ## are 29 or less you are good, if its 30 there is a little more work for you to do)
you can visit this page
http://forum.xda-developers.com/showthread.php?t=442480
What were they thinking when they designed the G1 to only put apps in intenal memory? How can they expect people to buy apps (once developers can sell apps on the Market) when there’s no more room for them in memory?! Some of my friends with Iphones have over a 1.5 gig of apps installed! And here we G1 users are having to uninstall apps just to avoid the “low memory” warning. This is ridiculous!
Jesus Freak 1.41 RC 33 after root gives you the phone you thought you were buying in the first place…
Use the application called MyBackup from the Android Market to backup all your applications to the SD card… You can backup a lot of other things too… Great app, it is a must have.
my backup is fine but it doesn’t allow you to run apps from the sd card and say internal memory, which is the point of this. It looks like Rooting and JF’ing the rom is the only way we’ll see a fix, unless you have a developer G1, but then you can’t get paid apps because of a flaw that let’s you grab paid apps for free from their storage area on the google server… this is kind of like the Iroq war, lot’s of time a money and thought went into getting there… but not much went into ok now we’re here NOW WHAT?
What a rip off. No A2DP or storage of programs on the SD. I bought an 8 gig micro sd in anticipation of storing programs, etc. Now I have a phone that is full of programs and thus runs sluggishly. What is the sd for? Music? If I wanted a music phone I would have bought an iphone or something like that. Get over it google and let us store on the sd. If not I can guarentee I won’t buy another google phone and you will be dooming the android os.
Well this is my 1st google phone. I will never buy another google phone again until they solve this problem. The OS is good but the person who decided to put a 128mb internal memory should be skinned alive and dip in sea water for being a retard. G2 is about to come out and this problem still have not been solved.
Remember people, every time you uninstall a app everybody should make the reason “low space” even if your just trying to test the app.
The major downfall on the G1 and Android phones is that they force the user to use the built in memory. They do this to stop people from copying programs to each other but they will learn that people will just hack there phones so they can run it off of the memory card. They are limiting the public to a small fraction of programs in the market because of a space issue with the internal memory and that just won’t satisfy people who bought this phone for the potential of what a smart phone can do.
Download Appmanager it allows you to backup and install from the sd card !
You can use this app to install apps on sd.
AppstoSD2.zip (http://forum.xda-developers.com/showthread.php?t=512743)
Just install in G1 and follow
Leave a Comment