yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] hgoldner:
Downloaded (from http://nexus.zteo.com/projects/beta/) what I thought was 0.54. It's still showing 0.52.

Root explorer shows the following in /data/data/com.voilaweb.mobile.notenoughspace/files/:

bogus

nes

not1stlaunch

Did you change the download link?
[Android Apps and Games] overground:
For all those upgrading. I recommend a fresh install.

First, I'd like to say great work and thanks for the main list changes. This makes it very easy to find those apps with moved data. I've found in some cases, that updating of apps with moved data fails, so this makes it easy to move stuff back prior to upgrade.

A couple of questions about the NES partition before I try it:

How and where is it mounted?

Is there an easy way to revert?

Will a nandroid+ext backup / restore include the partition?

It is a nice option, however, I'm understandably a little concerned about trying it. Using /cache and my mount point in /data/sd is working flawlessly. Now with the moved data coloration, it seems complete for my needs. I may end up leaving the NES partition feature for others to test, depending on the answers to the above questions.

Last question:

Are you going to put this on the Market for sale? If so, you've earned a customer. If not, where do I donate? Thanks :)
[Android Apps and Games] cyansmoker:
Thanks, guys. I will look into these FCs.

Overground:

The NES partition is mounted in /data/nespart; this is a mount of a filesystem container file (/sdcard/data/noensp/system_*) through a loop device (/dev/loop1111)

It is EXT2-formatted and not encrypted.

This partition can be deleted anytime you wish to get rid of it. This is done by umounting it, deleting the mountpoint, the container and the loop device.

You need to *first* move back any files you have previously relocated to it.

All this does not affect the SD Card in any other way than using up the container file's space.

A backup of the SD Card will save the partition. However, for this partition to be mounted when you turn on your phone, NES needs to be installed (it will automatically detect it if you re-install after a restore)
[Android Apps and Games] overground:
Thanks for the reply. That answers all but my last question. ;)
[Android Apps and Games] cyansmoker:
Anon87, gen_scheisskopf:

These are, indeed, two different issues. I have a fix ready for both.

I am not pushing an update yet, though, because I found a particularly embarrassing bug in some devices' version of Busybox.
[Android Apps and Games] gen_scheisskopf:
I've uninstalled and installed NES again, effect- container file is created and has correct size, sometimes error message and FC after file creation is finished. NES can't move data to container- "bad status code: #2001". After this proper icons and app names on app list are replaced by pie chart icon and "com.adobe.reader" like names.

Logcat attached- from launching until exiting app.

So what do you recommend?

I can't say if my phone will run properly with other busybox build, maybe good option would be to add busybox download option in app (as it's in TitaniumBackup- busybox goes to /data/data/ and is launched from there)
[Android Apps and Games] Anon87:
Thanks for the reply.

Sent from Soft-Rooted HTC Desire using Tapatalk
[Android Apps and Games] cyansmoker:
v0.5.5

Fixed: creating container failed if no file had been relocated previously

Fixed: formatting container failed on phones with no EXT2 support

Fixed: Some builds of Busybox suck at making recursive copies

No need to worry too much about Busybox. When I find something that doesn't work I simply write more native code, which is what I had to do for recursive file copy and directory removal.

Important: If you have a previous version of NES, make sure to uninstall it before installing this update; if you don't some things will only work halfway.

Overground:

I have to admit that I am not sure what model I am going to adopt for this application. First, I want it to be rock-solid. If I sell it, it will be for around $4.99, I think. Maybe there will be a launch promotion at 50% off.

And the first couple days would be very low ($.99 or less) for the beta testers :)

Your input it welcome; what do you think a reasonable pricing point would be?
[Android Apps and Games] gen_scheisskopf:
NES 0.5.5 on Samsung Spica:

-creating/destroying NES container works without errors

-moving app data to container works without errors

-restoring back to /data gives error "bad status code: 2001" and data is not moved, on second try works

-one time (0.5.5 was run 4 times) NES didn't get app list- nothing on list with "infinite space" reported for /data, going back to "main"(first) screen fixed it. Can't provide logcat this time- phone rebooted when I was plugging USB in

If you'll sell it maybe create also Lite version with limited functionality, for example container file not bigger than 20MB?
[Android Apps and Games] ppd0526:
I have only one thing to say: I love this app and you for making it!

I recently just had a bad font flash and after a boot all my apps were force closing nonstop. I couldn't figure out the issue until I saw that /data/data was he problem. I used your app to link the folders for some test apps to my internal memory and voila, the app worked! I just now need to figure out how to properly set the permissions for the data/data folder so I don't have to manually link all the apps.

The weird thing is that while in adb shell as su with my phone in recovery, it doesn't show any files in data/data. Any thoughts?
[Android Apps and Games] overground:
I have no problem paying for my apps. You may be a little over the threshold at $4.99 for a standalone. I like the model Titanium Backup dev uses. Free with limited but useful functionality. Donate via Paypal (key file placed on /sdcard) and/or Market unlock app to enable full features. This also gives the population where paid Market access is not available the ability to purchase. This method also cuts down on warez because they can obtain a full version legally with the Paypal unlock key, whereas if no other methods are available, many feel justified using warez because the paid version is "unobtainable" via legal channels. It's not right, but that's how it is, and yes, there will still be warez no matter what you do. $4.99 is a good price if you go that route. You could also go the alternative market route, but I do not know much about those. JM2C, so now my beta-tester version is $.97 :p
[Android Apps and Games] Anon87:
Creating the container works perfectly now. I've only moved app so far without any problems.

Thanks again.

Sent from Soft-Rooted HTC Desire using Tapatalk
[Android Apps and Games] ppd0526:
Can anyone please tell me the permissions, owner, and group for the default data paritition?

I am getting this error when I try to click 'restore' on my apps: "Unable to retrieve info:[cat /emmc/data/noensp/com.quoord.tapatalkxda.activity/shared_prefsy/noensp.oid]" and this occurs for all folders when I try to restore.
[Android Apps and Games] hgoldner:
You deserve to be paid for your efforts. I'd pay for it, and I haven't even experimented with the new partition feature.

As to price point --- isn't it possible to get some sort of marketing info as to what price point is likely to produce the best return? In other words, if 3x as many people will buy it at $1.99 than $4.99, it's a no brainer.
[Android Apps and Games] cyansmoker:
Can you check, using a file browser, whether /emmc/data/noensp/com.quoord.tapatalkxda.activity/shared_prefsy/noensp.oid exists and if not zero-sized?

If the answer is yes, I think I can create an update that will properly read that file.

-Chris.

UPDATE: Wait. That error message; did you copy it manually? Does the real error message really read ".../shared/prefsy/noensp.oid"? (you know, "y" included?)
[Android Apps and Games] ppd0526:
Yes, the y is included. Which is what I find strange.
[Android Apps and Games] cyansmoker:
I forgot to ask: what version are you running?
[Android Apps and Games] Smabbage:
$2.99 seems a nice happy medium. $4.99 seems a bit steep and where I like the $.99 price point it seems to cheap for a valuable program such as this. I see FAR to many posts about low data space on the various forums I visit. Seems to be a growing problem as more and more people are loading down their Droids with apps. :)
[Android Apps and Games] hachamacha:
Hello and thanks for providing such a cool useful app:

Now I have to admit, I don't quite understand the choice I'm given after installation yesterday, so a couple questions:

1) If I've made a nandroid backup before use, and somehow wind up mangling a link to another partition from /data/data, will the nandroid restore 'overwrite' and 'fix' it?

2) Example: (this is true of nearly all apps and their corresponding folder-icons): Google Earth: It is the largest user for me or /data/data, and has a [lib] folder that takes 30Mb. Of course I'd like to use NES to move it elsewhere and link to it instead, so I do a long-click, and the only non-grayed-out option is "move to cache". On tiny folders, like 'Earth/cache', there are options like "Move to EMMC" or "Move to SDCARD". Those seem more like what I'd like to do. The folder shows as the pure red icon that supposedly can be moved to EMMC or SDCARD.

So I guess my question there is : What exactly does 'move to cache' from a structural standpoint? I'm just not seeing it in the help section, and don't want to screw up the current setup unless I understand what it's going to do.

Thanks very much,

Hashi

EDIT: I, for some reason, thought this was a shorter thread than it was, so to make up for it, just read every post. For the most part, my questions are answered. I've tried the Earth/lib to -loop fs created on /sdcard, and it appears to work fine. I've got an incredible, stock, de-sensed, rooted, so far, working well.

Now, for a more reasonable question (I think ;)) :: How is NES mounting the loop partition upon reboot and is it required that NES be left running as a background process to keep that partition mounted (/data/nespart)? What actually happens when a new version of Earth comes along in the market and I choose to update? Thanks again.
[Android Apps and Games] overground:
1. Yes a nandroid will revert it. Conversely, a restored backup made with data moved via NES will restore the links and moved data as well, as long as you've only moved data to /cache or the fat32 partition of your sdcard. So, unless you make a Nandroid+ext backup, moving to /cache is the best way to go IMO.

Move to cache does exactly that. Moves to cache partition. You'll probably want to use a cache cleaner (I recommend the one by AndroidAppCritic) to clear your cache instead of wiping /cache from recovery. Wiping dalvik-cache from recovery will not hurt anything.

Your last question: That is why I asked for (and cyansmoker granted) a color coding for apps with moved data. In my experience, I've had to move data back to internal before upgrade, and then move it back. Hence, you may not want to move data of an app that's updated often.

I'll leave the other questions for cyansmoker.
[Android Apps and Games] bast525:
Ok up til now I've only been moving cache folders. I tried moving databases a few times but this broke the apps I tried. By far the biggest space eaters are the lib folders for various games I have. I believe earlier in the thread it was recommended NOT to move these. With the new SD card "container partition" functionality, is it now ok to move these lib folders without it breaking the games?

Edit: nevermind, answered my own question. I was able to move some lib folders to the nes created partition and the games still worked. Very nice, freed up a TON of space in /data/data.

So my next question is, how will this affect updating these apps? Will I have to move the lib Folder any time the app updates? Or will it automatically install lib to the SD card partition?
[Android Apps and Games] hachamacha:
Thanks: Good info. I thought there was some chance with, for example, Earth, that an update would just move the libs to the loop FS on /sdcard. After all, isn't it a link (soft) from libs that points inside the loop FS?

I'm still not clear on whether the dinc equivalent of /etc/fstab has been modified to automount the new loop FS on boot, but it does work fine.

I've not tried a cache move yet, and you address the reasons why.

Anyway - thanks, H
[Android Apps and Games] cyansmoker:
How/When is the loop container mounted?

It's important to know: if you uninstall NES, the loop container will not be available after a reboot. It's OK, though: should this happen, simply re-install NES and it will detect the existing container.

So, how does this work?

First, NES does not run in the background. However, it registers an activity, basically telling the OS "Hey, let me know when you're booting up."

Thus, after powering it up and various other stuff coming up, your phone will call NES' special activity and that activity will mount the loop container.

What does this mean for my applications?

It appears that Android will only give NES a chance to mount the container towards the end of the whole boot process. For this reason, I do not recommend relocating applications that will likely be invoked during the boot process.

Google Earth is a typical example of an application that can be moved without problem because it is an application that you, the user, will launch. Games are the same.

If you use a third-party home launcher, on the other hand, it seems more reasonable to not relocate it to the loop container.

Why can I move some directories to a host of places while only one or two places are offered for other applications?

Short answer: if a directory contains executable code, if can only be moved to partitions that support executable code.

In practice, lib/ directories are the most likely to contain such code. Were you to move these directories to a non-fully-compatible location, such as /sdcard, your application would definitely stop working.

Partitions where moving executable code is known to break your application:

/sdcard

/emmc

Partitions known to

not

break your application:

/cache

NES partition (loop container)

YMMV:

/ext

Any partition you manually select.

-C.
[Android Apps and Games] gen_scheisskopf:
So it is notified during boot, does what it has to and exits and there's no need to exclude NES in task killers?

Can NES run from /system/app? I understand that (for now at least) it must be uninstalled prior to update because it creates executables in it's folder in /data
[Android Apps and Games] hgoldner:
So, the fact that, at least for now, NES has to be uninstalled before updating is not a problem, because the updated NES will always be able to find these partitions. Correct?

It would be nice, however, if eventually, an update didn't require an uninstall first.
[Android Apps and Games] hgoldner:
I'm getting the message "failed to change ownership" when I attempt to restore.
[Android Apps and Games] cyansmoker:
Ah. I'll look into it. At least, the good news is that it's a minor error and your app should work anyway. But I will definitely take care of it.
[Android Apps and Games] hachamacha:
I'm not at all sure this is in any way connected to having installed NES, but thought I'd run it by you:

Before installing NES, I could plug the phone via USB to any PC and see the /mnt/sdcard. Now I only see /mnt/emmc, which is not such a bad thing, but I don't recall seeing it at all before as the default.

Yes, I've checked looking at the root of the system , and also dmesg on a linux box.

My config: A somewhat stock rooted HTC Inc that I 'De-Sensed' long ago. Only recent change was to install NES, create a 250M loop partition and put Google Earth's Lib folder there.

Does this seem related to my missing /sdcard (only on PC) problem? I , of course, am touching the (mount-as-drive) option when looking for it.

EDIT for more information after posting::

It is the mounted loop partition on the /sdcard that prevents the PC from attaching/mounting it. I guess that makes sense. To workaround it for a moment and test, I reverted the loop partitions data back to /data/data and destroyed the /sdcard loop partition. Then it immediately mounted on the PC. I don't know if that's something that is addressable in another way (like writing a shell script to umount the loop partition) but it seems worth a thought.)

Thanks -- Hashi
[Android Apps and Games] bast525:
I too started having an issue getting the SD card to mount when connecting to my laptop via usb. I thought my card was going bad! This started right after creating the loop partition as well. Wish I'd seen this post first! I went and copied my ~12 gigs of data to my laptop, did a full format of the SD card, then copied everything back. It refused to mount again so I went and bought another SD card, thinking it MUST be failing. Luckily I haven't opened it and can return it.

I have also found since creating the partition that often the card gets "stuck", when I try to unmount it via the settings menu for removal. I found if I remove the card and put it right back in it will then mount for the laptop.
[Android Apps and Games] hachamacha:
Hi -

I'm guessing that a small shell-script (like a , is it g-script lite? one) will take care of that. The two things that need to happen to make that somewhat seamless would be (and these are only true if the app isn't running, so lets make it three things):

1) kill the app (su; kill -9 {appname}) ; so it won't care that it's {whatever} went missing in action.

2) umount the loop partition (I'm forgetting it's name. Think it's on /sdcard/nespart or thereabouts) but the mount point seems like it's in /data/nespart. Haven't looked for a little while now.

3) If NES is running, perhaps have to kill that in case it knows to wake up now and then and remout it's partition.

4) Then:: you can try to plug in the USB and set to mount disk. It should work then. There's nothing wrong with the partition being there.

The whole thing reminds me of being inside a mounted partition while trying to umount it ;) Just a catch-22 thing.

I think the only tricky part would be somehow tying it to the 'event' generated (if there is one) when you mark the card for mounting (that radio box that's part of the droid gui). Then remounting it could be a part of a loop with a timeout. I have no idea what events are generated, but clearly there are some because a quick 'card integrity scan' is performed during remount. After that running the reverse script from above would be nice.

I'll try to give that a try , maybe before next Monday. Hashi
[Android Apps and Games] cronikslacker:
I'm having the same problem
[Android Apps and Games] elborak:
Would you consider allowing us to specify where we want the NES loopback container to be stored? I'd prefer to put it in /mnt/emmc rather than on the SD card.

Thanks.
[Android Apps and Games] cyansmoker:
I can do that. Is there still a point for the container in that case, though?
[Android Apps and Games] hachamacha:
Probably so: I'm just guessing that a large percentage of Dincredible (and whatever other phones have this /data/data problem), don't even know they've got the /mnt/emmc partition with ~4-6G of free data inside their phones. I actually use it but almost never to look at from a PC view. I just keep nandroid backups of old there.

If that's true, or mostly true, then why not dedicate 250M or whatever size loop partition inside /mnt/emmc, or at least make it a choice.

If I plugged my phone in to get to the /sdcard , I probably want to see that device. If I don't see /mnt/emmc show up, I don't usually care. Between the two, it seems to me a natural, and like someone said, it could be just another choice in the loop creation screen.

Seem like a good idea to me. Having the loop keep the /sdcard from being unmountable (from the droid's perspective) doesn't seem like a good idea.
[Android Apps and Games] bast525:
I agree that it would be great to have the option to put the NES partition on either the SD or the EMMC. I know I'd put it on EMMC given the choice.
[Android Apps and Games] cyansmoker:
OK, guys. Very good feedback. I will offer EMMC then. Actually now that I think about it it _does_ make sense even for my own case.

In the meantime, I have been trying to work around the SD Card issue but it is turning out to be a nightmare: my Mac has always been temperamental when it comes to mounting the SD Card so now it stops working even if I have no loop. Tsk.

That's sad, too because I may have a fix:

When your phone is connected to your PC, I can detect that Android is trying to eject your SD Card and I can unmount the loop device myself at that time (it has a pretty long timeout); and I can remount it when I detect that Android mounts the SD Card.

I cannot tell whether this would work reliably though, on account of my Mac being an a*hole.

-Chris.
[Android Apps and Games] cyansmoker:
v0.5.6

Unmount/Remount NES Partition when SD Card is shared on your PC

NES Partition can be located either on SD Card or /emmc

"Force (Un)Mount" buttons in settings for NES Partition

It would be awesome if you guys could test relocating parts of an app (especially /lib) to a NES Partition on /emmc, reboot your phone and see if your app survived the reboot.

Also great: relocating parts of an app to NES Partition on SD Card and confirm that SD card can still be mounted on PC.
[Android Apps and Games] hachamacha:
Thanks for making the changes. I like this a lot. I liked it before but this is a good choice to add.

I've got the Earth libs , so far, relocated to a 250Mb Loop Partition on /emmc/nespart and no problems at all that I've noticed. I need to try a few things for testing later today.

OK: One possible glitch is this: When /emmc/nespart is mounted it is not visible from a 'mount' to the PC, which was one reason for this change in the first place. I noticed you added the 'force mount/dismount' option.

I can see it does dismount /mnt/emmc, but that doesn't make it available for mount to the PC. It also is not remountable (by me anyway) on the Incredible.

A reboot clears this all up and remounts it, apps work, etc. I'd like to also try re-mounting the loop partition manually from the terminal emulator since you can see the parameters it's mounted with by issuing the "mount" cmd in the emulator.

However, I've no compelling need to PC - mount /mnt/emmc so much thanks and good job.

Hashi
[Android Apps and Games] elborak:
Just tried 0.5.6, moving Google Earth lib directory to NES loopback on /emmc. No problems so far.

Thanks for the excellent update and for listening to feedback!
[Android Apps and Games] bast525:
Cool little trick for anyone who created an NES partition on the SD card and wants to move it to emmc. Open NES, force unmount partition. Use a file explorer, open the SD card and go into /data. Move the /noensp folder from /data to SD card root. Open NES and destroy the partition, then recreate it on emmc (I made sure to make it the same size, not sure if this is necessary though). Once recreated, unmount it, and copy the /noensp from root of SD to /emmc/data (overwrite existing of course). remount the partition. Profit.

I honestly didn't believe this would work, but it did, and saved me restoring 20 apps /lib directories and then moving them to emmc individualy

Cyansmoker - after moving the NES partition to /emmc, and connecting the phone to my pc, now emmc does not automatically detect or mount on the pc. However, if, before connecting the phone, I open NES and force unmount the partition, then connect it, both drives mount on the pc. So there's still a workaround for those times I do want to move stuff from/to emmc directly via pc. This app just keeps getting better :)

I do have one request though, can you add the ability to see how much of the NES partition is in use and how much is free?