I have an application which is of size 130MB. when i try to install its displaying insufficient memory error. but i have around 170MB left in available space in internal memory. How can i Install this app? The size of the app is large because it contains many media files. In Motorolla droid its getting installed. but on Nexus One its giving this error.
I would not package the media files in the app itself. It would be better to put the media files on a server and have the app download the media files to the sdcard. This is a common thing for Android apps to do. If you install that large of an app, that means you have much less room to install other apps. If you have users other than yourself, they will despise that the app is so large.
Another option, is to install Froyo on the Nexus One and alter the app so it can be installed on the sd card.
Related
from my galaxy tab s3, I can download and play videos offline with the Amazon Prime app if I save them to my internal storage. However, if I save them to my sandisk mirco sdCard (200gb), the downloads seems to complete successfully, but I cannot play the videos. The same offline watching works fine with Netflix.
Is this a known limitation of Prime, or is there some way to troubleshoot this?
a while ago GOOGLE and the ANDROID team had made it so that certain things cannot be accessed or written to the SD card due to exploits. it has been this way since 4.1 i think?
Unless there's an option to specify the SD card with the application, i doubt it
You did save the files using the application correct? or did ya move them from the Internal to the external? if you did this then that might be the issue. you will have to put the save path as the SD card if it allows it. if not, then blame google for screwing with how Android devices read/write permissions with the SD card.
also this really isnt the place to ask these question, you SHOULD contact AMAZON customer support....
looks like its an sd card issue, since I tried reformatting it both in my GalaxyTabS3 and on my fedora machine, and i get errors. false alarm...
When I installed my same apk in 2 nexus devices, both shows different installation size.
1) In my Manifest also I added android:installLocation="auto".
2) Both got installed in device memory
Thanks for prompt response.
This can be due to many factors, one of which Android 6.0's new way of handling newly installed apps; it kind of decodes a lot of the code before runtime and saves it thus it takes more space in the storage, but when running, it doesn't have to do all the processing all over again.
And their exists more factors to consider. Anyway, there is nothing to worry about as this is very normal. Try checking PlayStore on the web from a PC and look down for the size of the apk , mostly you'll find "Size varies between devices".
Regards.
I am taking an Android app and making it run on Chrome using the ARC Welder. For best results we're only targeting the Chromebook / Chrome OS, not Windows or OSX.
The app is running with some minor glitches, but I need to enumerate photos on an inserted SD card.
The problem is that the /mnt folder accessible within Android Runtime only contains the virual sdcard folder, and does not reflect the real SD Card or USB Flash Drives attached to the Chromebook.
How can these photos be automatically loaded from the SD Card into the Android App in the Android Runtime.
I know that I could use a CRX (Chrome Extension) to read the SD Card photos, but how could they be passed to the Android app? And can this be in the same CRX as the ARC Welder creates or must it be a separate CRX?
I found a workaround which is to use the Additional Metadata section and add
{ "enableExternalDirectory": true }.
When the app first launches, it prompts the user for the folder. One must select the SD card.
Then my app works as expected, as the 'emulated sd card' becomes the 'real sd card'. This is not the most user-friendly approach, but it works.
I'd still prefer if we could load the files from a CRX into the Android Runtime...
I am bit confused about memory sizes in android apps, is there any difference between installing the application in Phone memory and SD card. I guess there might be difference of responding and running speed. But i am wondering is there any other differences in that.
And also i installed my application in Phone memory and again installed in SD card also.
The immediate difference i can see is the size of the app.
While installed in Phone Memory :
Total size : 5.15 MB
App size : 4.96 MB
Data : 192 KB
While installed in SD card :
Total size : 3.15 MB
App size : 2.96 MB
Data : 196 KB
My Actual Size of the apk file is : 2 MB.
Why the above difference with phone and SD card installation.
I am really confused about these size variations. Where is app 2 MB and data 4 KB goes as the difference.
I googled a lot and failed to find the answers. I tried in developer.android.com and stackoverflow also, but i am unlucky.
So my doubts are,
What are the differences between installing an app in phone and SD card.
Why the size difference shows when i install my app in SD card and Phone. Where is the difference 2 MB goes and What is that difference.
How the size is more when installed from the actual apk. (My guess is , the apk will be extracted and installed in the device, so the sizes might be increased while installing.) Please correct me if my guessing is wrong in the 3rd one.
Thank you in advance.
Google has some info on the subject about difference on having app installed on SD card and internal memory here and on google blog. They are good reads and contains info about what types of apps that shouldn't be stored on the SD card.
The primary reason some apps shouldn't be installed on SD is that the SD card can (on some phones) be removed at any time by the user and thereby causing issues.
There is no effect on the application performance so long as the external storage is mounted on the device.
The .apk file is saved on the external storage, but all private user data, databases, optimized .dex files, and extracted native code are saved on the internal device memory.
The unique container in which your application is stored is encrypted with a randomly generated key that can be decrypted only by the device that originally installed it. Thus, an application installed on an SD card works for only one device.
The user can move your application to the internal storage through the system settings.
I am facing this problem and finding solution for this issue since last 2 weeks.
Right now i have developed an android application for the client perpose, whose size is 54 MB, from which 52 MB of only Images/Photos.
[Edit: I need to keep images in "drawable" folder ]
So i want to install it in sd-card on Android SDK 2.2 for that i have already set android:installLocation="preferExternal" in the AndroidManifest.xml file. I have created 256MB sd-card while creating an avd , heap size - 192 , ram size - 192
but it still showing me an error:
[2010-08-27 17:58:28 - demo_test]
Failed to upload demo_test.apk on
device 'emulator-5554'
[2010-08-27
17:58:28 - demo_test]
java.io.IOException: Unable to upload
file: No space left on device
[2010-08-27 17:58:28 - demo_test]
Launch canceled!
Edit:
Is this memory related issue of internal memory or external memory?
What i have to do to run application and still test with emulator?
How do i install application in sd-card in Android sdk 2.2?
Is the sd-cards size really 256MB? I sometimes forget the suffix and end up with.. something very small.
You can also always raise the sizes to like 512, 256,266 and try again to be certain it's something else.
Also, Logcat output would be nice too.
Edit: As it seems, you cant just "install" the app on the SDcard even if you have 30+Gigabyte free on it. Installation depends also on the internal memory of the phone even in 2.2.
Example: Nexus one has 512mb internal memory. The android os takes the needed ram for the camera, gpu, kernel etc leaving a user with only around 190MB app space (which will be even lower due to apps already installed etc).
HTC Hero on the other hand has only 288mb internal memory, leaving it with a very small "app size ram".
Depending on the phone, 90mb app will install to SDcard on nexus one, but won't on Hero due to memory limitations.
The reason you are getting that error is that, after the android os takes the needed ram out of those 192MB, the "app size ram" is not enough to hold that 50+mb application.
I thought that installLocation would install directly to SD, but that is not the case.
Vidar Vestnes blog confirmed what I described above by performing a test with different app sizes on his HTC Desire..
A better approach would be to put your resources in their own directory on the SD card. Then your app can load them when it needs.
I suggest you try increasing the internal memory available (screenshot says 43MB), in case the .apk is being copied there first before it is installed to the SD card by the OS.
Assuming you need the images on your device instead of on the cloud, the easiest way would be to make the app connect to a server of yours and download a zip containing all the images on its first run. Until devices get a larger "app ram size" this might be your only solution.
You can use the following:
adb shell pm setInstallLocation 2
from the android-sdk/tools directory to force the emulator to install to your sd card, whatever its size -- preferably large enough to hold your app(s), obviously.
If you want to go back to the default installation location (phone app memory), do:
adb shell pm setInstallLocation 0
You can also use these adb commands on your phone / tablet.
Once you have set up the emulator to install to the sd card, you can then go into Settings --> Applications --> Manage Applications, choose the app you want to be on the sd card, and the "Move to SD Card" button will no longer be grayed out.
you can check if the sd card is really mounted and enough space is available by the running
adb shell df
command in the android-sdk/tools directory
it shows you which partitions are currently mounted, how big they are and how much free space is available