Any registry scanners?? - Android Software Development

Now please don't start some flaming about how Android doesn't have a "registry" - It has ways of storing persistent application data not on the SD cards (http://developer.android.com/guide/topics/data/data-storage.html)
So are there any programs to list/scan/edit these private and primitive data sets?

The find and grep command-line tools are the classic ways to look for things on UNIX/linux/android.
You also need to deal with binary vs ASCII files. The file tool can help determine this.
The combination of these tools is left as an exercise for the reader.

Yeah, I don't understand your reply.
I was wondering if there were apps for non hacked Android phones (if the original app can write, surely another an can peek)

With android's permission setup, applications cannot modify data for other applications unless the app you wish to modify stores its data in a file on the sd card, or provides a "content provider" for other apps to work off of.
General system settings are found at http://developer.android.com/reference/android/provider/Settings.System.html
Most programs will store their settings with the "SharedPreferences" class (http://developer.android.com/guide/topics/data/data-storage.html#pref), which cannot be modified by other applications (as far as I know).
Aside from the global settings, the only real way to view or modify app specific settings is if that app has an accessible ContentProvider (http://developer.android.com/guide/topics/providers/content-providers.html).
If you want to poke around any deeper, then you need root access and to look through the sql tables directly. See http://davanum.wordpress.com/2007/12/11/android-how-to-poke-around-the-sqlite3-databases/.

Related

Uninstalling apps - anything left behind?

Hi,
I am about to buy my first Android device (HTC Desire), and being a programmer I will of course want to write apps for it.
In the beginning I will naturally test a lot of apps created by others, and I will probably uninstall a lot of them for various reasons (lack of space being one of them).
Now to the question: Will uninstalling an app remove it cleanly and leave no traces behind? I'm not thinking about files possibly generated by the application and stored on the memory card (since that will be manually deletable), but things like settings and possibly files created in inaccessible locations on the device itself.
There is a SQLITE database in the Android system that apps (content providers) can store stuff in. This database obviously takes up space, and the question is if misbehaving applications could store stuff there that would remain after uninstall, effectively leaving garbage behind.
I realize that a hard reset would work to clean everything, but that is a drastic measure.
Assuming no root access, what is the answer to these questions? Please bear with me if these questions are dumb or too basic...
Regards
-Øyvind
To my understanding, apps are spread throughout 4 locations in filesystem.
/data/app - folder for storing apk's
/data/app-private - folder for storing protected apk's
/data/data/{appname} - app storage, settings, db's and so on
/data/dalvik-cache - folder for storing dalvik cache file for an app
From my experience, uninstalling removes all traces of an app from these locations in addition to market link from Market app db. Also with rooted phones manual uninstalling of an app is possible by removing associated content from those 4 locations. Link can also be removed, but that requires a little bit of knowledge of SQL.
If there's something to add to all of this, or if something is wrong, please someone correct me.

Not a Developer - want a deeper understanding of the OS.

I am computer savvy, began building PCs in the late 70's - early 80's, beginning with DOS 1.0. I know a little basic, a little UNIX, etc., but am not a programmer.
I am as psyched about my HTC Hero Android as I am about Windows 7. I love it! Like all users, I download and delete apps on a fairly regular basis. I also rooted my phone to OS 2.1. Here's my (minor) dilemma; the deleted apps (I think) leave artifacts, files and folders. When I rooted the phone, photos and other files are now in different folders. I also see twice the number of photos and wallpaper as the system seems to be creating logo sized duplicates.
I've been searching, without success, for something that will tell me what the file/folder hierarchy is. What's the structure? How to determine which apps use which folders. Which folders are used by the OS and the mobile OS? I want to be able to keep the memory and SD clean just as I do with my PCs, as well as copy files to the appropriate folders so that they will appear correctly in whatever app should be
calling them up.
I hope all this makes sense. And I hope you know of some source of information, be it a book, blog, or other, that will provide some insight in this domain.
Thanks for the help!
I rooted to Damageless' FRESH 2.1.
I have the sdk but have not opened it yet. I'll check out Android Commander.
I have sone some UNIX and did quite a bit in MTOS on large Telecom voice switches, so I can probably eek my way through.
Thanks for the direction BWBL.
Brian
basically Android is a dalvik virtual machine(stripped down java for embedded devices essentially) that is sitting on top of a Linux kernel. My understanding is that unless a program has root, it cannot access internal storage, especially write access. All prefs are saved to a database and applications are completely sandboxed, therefore no artifacts will remain on internal memory. Unfortunately the same cannot be said for your SD card. If you grant a program access to your SD card it can **** all over it and the OS doesn't. protect you. I have found that HTCs stuff is guilty of copying pictures all over.
bnbaldwin53 said:
I am computer savvy, began building PCs in the late 70's - early 80's, beginning with DOS 1.0. I know a little basic, a little UNIX, etc., but am not a programmer.
I am as psyched about my HTC Hero Android as I am about Windows 7. I love it! Like all users, I download and delete apps on a fairly regular basis. I also rooted my phone to OS 2.1. Here's my (minor) dilemma; the deleted apps (I think) leave artifacts, files and folders. When I rooted the phone, photos and other files are now in different folders. I also see twice the number of photos and wallpaper as the system seems to be creating logo sized duplicates.
I've been searching, without success, for something that will tell me what the file/folder hierarchy is. What's the structure? How to determine which apps use which folders. Which folders are used by the OS and the mobile OS? I want to be able to keep the memory and SD clean just as I do with my PCs, as well as copy files to the appropriate folders so that they will appear correctly in whatever app should be
calling them up.
I hope all this makes sense. And I hope you know of some source of information, be it a book, blog, or other, that will provide some insight in this domain.
Click to expand...
Click to collapse
1)Backup apps with androzip.
2)Backup the entire sd to pc(you may need to format but should not).
3)Wipe(data,delvic,uid mismatches). This will get rid of those apk leftovers/uta fc's....
4)Install a fresh copy of damage
5)Now right after initial boot, back up your sd card file structure
6)Drop your pc backup folders in their corresponding freshly set-up counterparts
7)Do yourself a favor and get a good file browser and you can check out the system heirarchy for yourself. These are MY personal faves,
a)androzip-explore sd/free market
b)root explorer-explore system/paid xda
c)astro-both free/market
d)android commander-for pc free/google
e)android sdk is another invaluable tool free/google
If you need further assistance, feel free to pm. Good Luck
Awesome! Thanks Magnus.

Idea: Common boot service for SD stored apps

Given that the SD card is mounted after the system starts (probably after all the boot notifications are sent to registered apps too) - Would it make sense to create a small service that does the following;
1) Has a very small footprint, as it would have to be stored on the main device memory.
2) Registers with Android for the post boot notification
3) Provides an easy to use API for registration by other apps
4) Waits for SD card to be mounted, then checks if the mounted card has a DB of installed apps, which are 'enabled' for the service and passes on a post-boot notification to them.
This would certainly help other app developers to allow apps to be sd installed, even when they require post-boot notifications.
Thoughts on this? Does it already exist? Would other developers consider using it if I developed such a thing? Is there an experienced developer willing to just take the idea and run with it?

[Q] Does WP8 have clipboard storage?

I was wondering if cut/copy commands are stored on WP8 in isolated storage or somewhere else similar to the uipasteboard in iOS? Any help would be appreciated.
There is no OS-level "Cut" command. Copy (and Paste) work only for text, but are supported by the OS and across apps, not in any per-app storage. The public APIs for clipboard access are extremely limited; apps can detect when there's clipboard content and can put their own text on the clipboard, but that's it. (Internal APIs for actually accessing clipboard data do of course exist, but app's aren't generally permitted to use them.)
Developers are of course welcome to implement an app-internal clipboard of any kind they want. For example, Pocket File Manager supports Cut/Copy/Paste for files (in the same manner as Windows Explorer on PCs) but that's purely app-internal.
GoodDayToDie said:
There is no OS-level "Cut" command. Copy (and Paste) work only for text, but are supported by the OS and across apps, not in any per-app storage. The public APIs for clipboard access are extremely limited; apps can detect when there's clipboard content and can put their own text on the clipboard, but that's it. (Internal APIs for actually accessing clipboard data do of course exist, but app's aren't generally permitted to use them.)
Developers are of course welcome to implement an app-internal clipboard of any kind they want. For example, Pocket File Manager supports Cut/Copy/Paste for files (in the same manner as Windows Explorer on PCs) but that's purely app-internal.
Click to expand...
Click to collapse
Great! So basically I the WP8 doesn't have a storage place where sensitive data (i.e. Credit Card info) would be stored if someone decided to do a copy on a card number so they don't have to retype it in later in the app. Correct?
I see a lot of .DATA files in isolated storage. Do you know what these are and how to open them? Much appreciated again.
Well, as I said, there is an OS-level clipboard (shared between apps) that can handle text (but nothing else). CC#s are text, so they could be copied this way. The only way to make that impossible would be to prevent the user from selecting the text (a pointless goal in any case, as the user could just copy the number manually, or take a screenshot, or... you get the idea).
Isolated Storage is completely up to the app. The OS has nothing at all to do with it, besides providing a location in the file system for each app to use. Without even knowing what app you're talking about, I can't begin to tell you what the format of those files is.

Apps Still Have A Loophole For Writing To The SD Card.

The secret to modifying files on the SD card is in theMediaStore*class. It's a*Content Provider*with access to the database built by the Media Scanner. This is mostly useful to apps like the gallery and music players, but anything that wants to see locally stored images, audio, or video will probably use it.
We’re really interested in a child class calledMediaStore.Files. Its job is to give links (URIs) to apps so they can query the database for files on a specific storage device. Through this mechanism, developers can get a specially crafted link that can be used to open a file with write access.
It seems that this method works because the links actually call on the Media Store to open and edit files. Since the Media Store runs with system privileges, it is free to make changes on external storage devices. In essence, apps are able to masquerade as a system service for the purpose of writing to the SD card.
Total Commander*appears to be the first*to have discovered*and implemented this workaround. There are still a few known bugs and some devices, like the HTC One M8 with its /sdcard2 mount point, aren’t supported yet, but it’s almost completely working on the Note 3. While the code has been in Total Commander for quite some time, a*recently posted beta*cleaned up several bugs and makes it the best implementation we've seen.
Source: http://www.androidpolice.com/2014/0...ng-to-the-sd-card-on-kitkat-but-for-how-long/
Check out "Total Commander - file manager" - https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander
I expect this will be too quickly fixed to get excited about.
What it needs is for Google to add a permission, even with loads of warnings and confirmations, to allow us to make our own choices - and allow the use of file managers and other apps that need access to the whole memory card.
I'm willing to take the risk Google!
But, this is Sony, so even if Mr. Google fixes it, it'll be sometime in 2015 before that appears on a Z1, if ever.
Sent from my SGP512 using Tapatalk

Categories

Resources