0

Yesterday I had ~40 MB of free space on my android 2.2.1 Samsung GT-S5570. I wanted to install Facebook App, so I downloaded from Play Store and then it installed automatically. It's size was ~20 MB.

This app is installed on the SD card. However, after all the proccess, I got a warning message about low internal memory. I checked the free spacea and surprisingly now it's ~20 MB... I assume the 20 MB are the downloaded app(something like the .exe in windows).

I searched through .temp and downloads to see if the ".exe" is there but I couldn't find it. I went through browser's settings(the default android browser) to see where do the downloads are saved, but I couldn't find any refference to the downloads.

Where do the ".exe" files downloaded, are saved?

  • 1
    Thanos, I've just added the insufficient-memory tag to your question. Please take a look at its tag-wiki for details, including babelmonk's suggestion (which is rather covered in the app2sd tag-wiki). – Izzy Sep 30 '13 at 8:36
2

Android apps are not .exe files - they are .apk files, which are effectively Java .jar files with additional included information.

The packages are installed in one of a few locations:

  1. /system/app - for system installed apps - you can't modify this folder.
  2. /data/app - any apps installed from the market are installed into here, and you as a user can modify the folder.
  3. /sdcard/.android_secure - apps that are moved to the SD card are stored here

Note that apps will also put data in a number of locations, and not all of these are on the SD card, even if the app itself is installed on the SD card; this is likely your problem with the app on your device, and unfortunately - without rooting the device and using something like a2sd which enables you to move other partitions onto the SD card.

For reference, also see this question on StackOverflow which has more info.

  • Thank you very much for your answer! I have indeed rooted my phone, but I don't really get what the a2sd will do. The link you provided-correct me if I am wrong-is guide to move the OS to the SD card... I believe that that's not the safest thing to do, right? – Thanos Sep 30 '13 at 8:07
  • 1
    Correct, it carries quite some risk, and does require a significant amount of understanding of the Android system to make the most of it - I certainly wouldn't recommend it to the feint hearted :) To answer your question w.r.t. moving the OS to the SD card that's broadly correct, but you can be quite selective as to what partitions are moved and how, so it's pretty powerful. – babelmonk Sep 30 '13 at 8:08
  • Powerful? That sounds yummy! Do you have in mind a tutorial or guide to help do this? Those memory warnings are really annoying, I can tell! – Thanos Sep 30 '13 at 8:20
  • Izzy has linked to the app2sd tag-wiki which is a good place to start with this (thanks Izzy, I wasn't aware of that!) – babelmonk Sep 30 '13 at 8:48
  • To be honest I have already tried all those advices. I have rooted my phone, created a ~250 MB ext2 partition on the SD card, moved all movable apps with Link2SD, created symbolic links to unmovable apps(like maps, play store), deleted "system" apps like gmail and youtube but again I only have ~20 MB free space... – Thanos Sep 30 '13 at 12:40
0

The actual location(or path) of external sd card(not internal,sometimes user-available internal storage is considered to be external storage(in android developing)) varies from one device to another. So, presumably, the path of installed applications on sd card also differs from device to device. If you really want to know the actual location of installed apps(on sd card), you have to do a little bit of programming.

But most of the cases(samsung devices running on lolipop), the application package sits inside /mnt/asec/[package_name] and the .apk file sits inside /mnt/asec/[package_name]/[app_name].apk . If you really want to know where it is,put the code bellow inside onCreate() method and run the app on the device you want. It will show you all the app's locations that are inside sd card....

Hope it will help...

PackageManager pm=getPackageManager();
    List<ApplicationInfo> infos=pm.getInstalledApplications(0);
    for(int i=0;i<infos.size();++i){
       String src_path=infos.get(i).sourceDir;
       if(!src_path.contains("/system") &&
               !src_path.contains("/data")){
           // showing path as toast message
           // you can even print it with System.out.println()
           Toast.makeText(this, src_path, Toast.LENGTH_SHORT).show();
       }
    }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.