[Q] protocols and URLs/URIs - Android Q&A, Help & Troubleshooting

i would like to know the meaning of various protocols i have seen in URIs that XPrivacy is showing me.
for example, i notice Google Account Manager is trying to access something at content://media/external/images/... what exactly is that referencing? there is no /media directory on the filesystem...
also noticed some references to content://com.google.android.gms.download/download/libappdatasearchext_armeabi_v7a.so for example, but i don't exactly see that either... there's a /data/data/com.google.android.gms/app_download/ but it doesn't have that .so file in it. in fact 'find' didn't find that file anywhere in the filesystem...
i thought i saw some other protocols besides "content" but can't seem to find those right now in my XPrivacy logs... here's another one: android.resource://
sorry really new to Android, thanks

Related

Scripts for XDA_UC

I've been trying for the last couple of days to solve an issue (it's not really a problem) that has been irritating me for a while. The issue is that everytime i flash a new rom i have to spent a coupe of hours after configuring everything again. Now, I use the 6.5.x tree of NRGZ28's energy rom series, specifically the standard variant and i want to create some scripts that will automatically setup things like my exchange server, hotmail, opera user-agent string and wifi. I already have a script that is supposed to work for exchange (not tested it yet) and one for the wifi. The wifi one just doesn't work but i've just done some reading and i think i know why (More on that in a mo). So, i was wondering, has anyone tried this already? If so do you have the scripts that are needed or know where i can find them?
Now, back to the wifi script. The reason i believe it doesn't work is because it would appear that the wifi has to be on for the WLAN driver to accept the new configuration. Now when you install a new rom, as most of you will know, the wifi is turned off and those of you familiar with the energy rom series will know that xda_uc runs right after first boot allowing no time for the wifi to be enabled manually. So, i was thinking, is it possible to write some code that will enable the wifi at first boot so the configuration script will successfully modify the wifi configuration?
Thanks for your thoughts in advance guys and girls.
Have a look in the FAQ for the ROM and there is post for sample scripts. I used them last night and got hotmail and exchange working. Here's the link:
http://forum.xda-developers.com/showpost.php?p=7333558&postcount=19477
Check the FAQ - each time I re-read it I figure something else out.
lol and there was me thinking it would be a lot harder. i always skip past the faq because 9 times out of 10 they are always filled with things like "How do i flash a rom" etc but i do still have a feeling it's not going to cover all my questions, things like can i write some code to enable the wifi at first boot or some other things i haven't meantioned like can i write a script that will automatically configure omarket with my login details.
I want to go all out on this and have it set up so i have to do as little manual configuration as possible so some code samples and/or further pointer would be really handy.
Just had another look at the faq and found i already had the xml generator listed in the energy addons page. One small problem... I have no idea what the hotmail server configuration is. Any clues? if not i will google it later.
Got my hotmail script. No idea if it works, guess i'll have to test it at some point.
I'm still looking for info on how to enable the wifi at first boot. Although at this point i am open to suggestions on different methods that could be used.
I am also a little disappointed. i thought this one had more legs to it. oh well, you can't always get everything you want i guess.
Just a litlle update. I got the wifi to take the settings without turning it on. Well i say i did it when really it just seemed to work. i think it might have somethig to do with some new drivers that were cooked into the rom i use.
I dropped the hotmail script because i do actually use windows live fair often and i ended up with 2 hotmail email accounts in the email tab but with a couple of tweaks i did get my exchange settings script to work like a dream.
I'm now looking into setting the phone identity using a reg file. I gave it a go using a script i picked up but instead of doing what it was supposed to it just stopped the windows and HTC sms clients from working correctly and i can't figure out why (it caused the phone to create several undeleteable sms messages). I'll post the code at the bottom. I'm also wondering if it is possbile to have a script that will copy files (ringtones specifically) to the right location. I think XDA_UC will do this if you create the directory structure in a folder in the XDA_UC folder on the sd card (hope you followed that one). Can anyone confirm that? I also created a script to configure quickgps but that didn't seem to work, i'll post the code for that too.
I'm still wondering if it would be possible to configure the opera user agent string using some form of script or reg file and it would be really nice if i could something similar with BSB tweaks, agps, HTC location service and pretty much everything else tbh. So if anyone has any scripts, reg files or cab files they wanna share i will certainly welcome them and i'm sure that many others will too.
Anyway, to posting those reg files:
Code:
[HKEY_LOCAL_MACHINE\Ident]
"Name"="Lucifer"
"Desc"="HTC HD2"
"OrigName"="Lucifer"
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\QuickGPS]
"auto"=dword:00000001
"actSync"=dword:00000001
"ExpiredTime"=dword:00002760
"remind"=dword:00000001
Check this out for reference [XDA_UC][UC][SASHIMI][S4X] S4X_Auto & S4X_Backup [AUG.10.2010] XDA_UC Mods & Answers
id some looking up on the device name thing and found this: http://msdn.microsoft.com/en-us/library/aa924188.aspx seems my reg key was a little wrong.
I've also managed to create a cab file that will install my ringtones and then setthem with all related options as the defaults. I know it's not very impressive but it's a step in the right direction. I think i may have a look at exporting the bsb tweaks settings later and see how that goes.
Oh one question: i have been looking for an .reg to xml converter but my google results all seem a little vague and i don;t know if can trust the programs i'm finding. Has anyone got any suggestions?
M3PH said:
Oh one question: i have been looking for an .reg to xml converter but my google results all seem a little vague and i don;t know if can trust the programs i'm finding. Has anyone got any suggestions?
Click to expand...
Click to collapse
I don't think you need to convert reg to xml. Just leave the .reg files in the XDA_UC directory and it should run automatically.
darkblak said:
I don't think you need to convert reg to xml. Just leave the .reg files in the XDA_UC directory and it should run automatically.
Click to expand...
Click to collapse
No, you're right. I have no idea what i was thinking.
Another little update. I have working reg files for opera ua string and quickgps. I've decided not to bother with bsb tweaks because it's so easy to setup but being able to preconfigure windows live would be cool. Also being able to preconfigure agps would be nice

[Q] Hidden folders through Android MTP

Hey !
I've searched the web as well as the forum but i didn't find any solution and it seems i'm not the only one wanting to do that.
Is it possible to see hidden folders of internal sdcard through MTP ?
I really talk about hidden folder like ".android_secure", not the photos that aren't yet scanned by the media scanner service.
In my windows environment i already set the view all hidden files/folders as well as view system files.
If i have to change folders permissions through terminal what are the correct permissions i should put ?
Thanks for the help !!
Am i the only having that problem ?
Do you guys see the hidden folders through mtp connexion ?
If you'd bother reading a bit before asking questions, you might have the answer already.
http://en.wikipedia.org/wiki/Media_Transfer_Protocol
MTP and PTP specifically overcome this issue by making the unit of managed storage a local file rather than an entire (possibly very large) unit of mass storage at the block level. In this way, MTP works like a transactional file system - either the entire file is written/read or nothing.
More or less, it is designed to keep hidden what should be hidden stick to USB storage or FTP/SCP.
PS: can't believe we're using a transfer protocol designed by Microsoft in a Linux-based system mastered by Google. The horror, the pain... no wonder it doesn't work on my Mac!
VAXXi said:
If you'd bother reading a bit before asking questions, you might have the answer already.
http://en.wikipedia.org/wiki/Media_Transfer_Protocol
MTP and PTP specifically overcome this issue by making the unit of managed storage a local file rather than an entire (possibly very large) unit of mass storage at the block level. In this way, MTP works like a transactional file system - either the entire file is written/read or nothing.
More or less, it is designed to keep hidden what should be hidden stick to USB storage or FTP/SCP.
PS: can't believe we're using a transfer protocol designed by Microsoft in a Linux-based system mastered by Google. The horror, the pain... no wonder it doesn't work on my Mac!
Click to expand...
Click to collapse
Thx for the link ! I knew what mtp is but its always good to refresh things up
I read the whole article and unfortunately it doesn't answer my question.
I understood that its the same for all of us meaning that we are not able to see hidden folders.
But the main question is if there is a way to bypass this behavior ? Where is this defined exactly ?
It seems according to the article that its not on the file permission layer ? Should it be at partition level ? How can mtp know what to share with the host ?
It's not a "behaviour" per se, but more/less a database. Remember that media scanner program which wakes up every time you change something on your SD card, be it internal or external ? it simply keeps a "database" of files which are presented to the MTP client (your computer) and hides away the phone's internal folders which are not supposed to be seen by the end-user.
Theoretically, this is done in order to have the iPhone-like behaviour: seeing the entire device memory as one big unified storage which you can fill as you want (no more of those partition size limitations which brought us the app2sd hacks). In my opinion, it's more or less just a small step done in order to "secure" phones for DRM protected content.
Studios and media companies require devices to have such measures of protection in order to allow you to sell media content (like movies, books, etc) and since Google wants to push its business further with the Play Store, it needs to cave in to the studios' demands. In the future, it will probably even become illegal (DMCA-style) for me to give you the information below
Back to the technical part of our show now.
At the first boot in the life of the device, Media Scanner will look under /system/media and index everything there. After that, it will scan everything under /mnt/sdcard (hence your external SD card too, if you have one, as it's mounted under /mnt/sdcard/external_sd). On some devices, you have an "internal.db" file and one "external-123xyz.db" file; that's a unique ID of the SD card which was scanned. The idea here is you might have 2-3 SD cards which you swap often, and it's not nice to do a full rescan each time you change the SD card. These databases are in /dbdata/databases/com.android.providers.media (on my phone, there is only one "external.db" for example).
So what you're looking for is a way to populate this database with all the files found by the Media Scanner. But Media Scanner doesn't want you to see the hidden folders you mentioned above. So, you get an application which doesn't ignore them, like Rescan SD Card! or SDrescan.
Happy now ?
Thank you very much i really enjoyed reading the explanation as it answers completely my questions and it makes sense !
Ill give a try to the apps but i'm also curious to investigate on those files
Cheers
PS. Is this a disguised way to support non open source protocols ?
Well, you could poke around inside the database with sqlite if you want. But don't really see what's so interesting about them.
It is just another protocol which is supported, which happens to be designed by Microsoft (and probably licensed/paid by Google to be used in Android). I understand the technical explanation behind this decision, but I'm also wary that someday UMS will be disabled by default and enabling it will disable content purchasing for that device (just like having a rooted phone now disables some "sensitive" apps, like banking and online TV).
As a system admin its interesting to know whats happening on my system
As a hobby its interesting for my personal knowledge
And from a development point of view it gives me some ideas for maybe future apps
You say that its just another protocol which is supported but to my understanding there are not so many of them ! So i would say that Google was kind of forced to use the MTP method, first from a hardware point of view and second to be compliant with the rest of the world.
Is there any other protocol that could suite their needs ? Since USB mass storage is not usable on some devices and MTP is well spead.
.HiddenAndroid folders in Win - Here Yesterday, Gone Tomorrow
<Win 7 and GN2>
What's curious and a bit frustrating to me is that, yesterday, when I mounted my device ALL of the hidden (.folders and .files) were visible and searchable. Today, when I went to explore some more, all are gone. I understand that I can use a 3rd party app, just can't figure out why it was visible yesterday and not today.
Hmmph
Did you ever resolve this issue? I really hate MTP for several reasons but this is one of the reasons why! I need to back up all my directories on the SDCard because some apps store them as hidden files in hidden directories. Furthermore, I came across the Play Store bug that requires me to delete a "temp.asec" file in the ".android_secure" directory, but of course it is not visible.
In a post further up it was suggested to use a "Rescan" app to force the DB to include hidden files/directories, but I have tried no less than 4 of these apps, and all they do is trigger the built-in android media scan, which is the problem in the first place!
So has anyone ever been able to access hidden files and directories using MTP?
EDIT: I have an HTC phone that actually shows hidden files and directories, so they have obviously implemented their own media scan. The problem I am currently having is on a Samsung phone (Epic 4G touch)
It may depend on the implementation. For example, using stock rom for the phone doesn't show some files and folders, for example folders starting with dot. But if you use Neatrom Lite it will show all files and folders.
Flash forward about 6 years and Samsung still does not show hidden folders/files when viewing the phone contents in Windows File Explorer, but HTC does.
The reason this is still a problem for me, is that I want to backup the contents of a particular directory (WhatsApp) which contains some hidden folders, so I can restore it anytime on a new phone or the same phone.
I recently switched from HTC to Samsung and alas, it seems the problem with this implementation still exists. Anyone found a workaround to this to allow File Explorer to see the hidden folders?
Update: It appears that hidden .nomedia files (and probably others) appear under regular folders, so the problem is limited to hidden folders themselves

[Q] apk and db location when debugging

Does anyone know the location of an apk and its associated database (if the app uses one) when debugging on an actual device? Reason for asking: I want to be able to delete the db. I expected to find it in one of the 'data' directories but its not there. Deleting the apk is easy, but it wouldbe nice to know where it is. i've looked in a lot of directories for it without success. Some of the apk finders in hte play store find it but none show the location.
Thanks for any help.

Finding packets and IP from decompiled APK?

So I'm working on a project on making an online android game work on PC from packet sending / receiving. Limited graphics.
Basically all packets are sent in a very unencrypted way, using very easy text and integers.
Easily picked up from packet sniffing, IP, Data etc. However, return results seems to be encrypted according to some packetscanning application for android. Unsure as packetscanning for android seems a bit meh. As I cannot get the game to launch thru bluestacks as hardware is listed as "Unsupported", I cannot find out for sure. Else I could have gotten more data and from that and could just have made the entire game based on the scanned sent/recieved packets coming from bluestacks. However the game also sends login info with each packet similar to
SendPacket(RetrieveResources,xxx,yyy,date,time,username,authid)
Username and authid is based of android hardware ID, which could easily be recoded into the java application.
But then I cannot find how it bases the authid and username of hardare id. Or how the application tells the server to create a new user.
Now, Myself I am an Java developer, however as I've never worked on Android applications previously this stuff is zzzz compared to real Java. I've managed to get about 99% source code from decompiling, deobfuscating and extracting the .dex file inside the application.
However, here's where things just go into full wtf-mode. I've extracted over 200 .class files into their correct folders and such, however, as confusing as this is. I simply cannot find how the game functions, or where it stores the IP and such, is it stored in an offsite .xml file? Storage file? Database? Resource file? Browsing through unlimited lines of scrap code, that seems irrelevant to the game, Facebook connections, Amazon, Google play purchase, Crittercism, GooglePlay classes etc. But noone of them actually seem to hold any useful data and alot of stuff actually just seems to be "Drag and Drop this into your application then call functions from it" like, "Authenticate to Facebook". I've managed to find alot of things loading .obb files, that doesnt seem to exist at all, tho the game pretty much goes "!blabla.obb" "CreateObb();" The game does not exist on facebook at all, just uses it to recieve ProfilID as an Login ID.
The game also uses UnityPlayer which seems to be the "Launch" class, which I've browsed thru but found nothing relevant. I found alot of .classes that seems similar to each other aswell containing the same stuff. I've also found alot of stuff that actually seems to be packet sends and connections, however, there is nothing that points that it is towards the game, but rather connections for i.e google play services.
Biggest .class>.java file is about ~40kb. Which for mee seems small, as projects I usually work with is well about 10mb inside the main.class then calls for unnecessary stuff from side classes.
Anyone mind pointing out on how android applications handles connections?
Is the files really no bigger than 40kb and just scrambled into tons of subclasses?
Feels like I'm missing obvious stuff that should be right there declared as a variable, but I can't find it.

Why does only system file chooser work?

Setting up my new S21, I needed to tell keepass where I stashed the encrypted info I copied to the phone. It wants me to pick a file either using the system file chooser (which has an interface designed by a team of experts to make sure you can't find anything) or a 3rd party file chooser. Naturally I picked the 3rd party option, pointed at the file, then got an error something like "Keepass only has temporary access to this file, you have to use system file chooser to select where to copy it". WTF is all this nonsense? A filename is a filename. If it would let me just type the damn path name, I wouldn't need any file chooser. After poking around in system file chooser menus and options for what seemed like hours, I finally stumbled across how to point at a directory that wasn't one of the standard locations. Then, even though I picked the exact same file I had tried to pick previously, it worked this time, no errors about temporary access or anything. What on earth is going on here? Have the android security geeks been doing magic mushrooms?
Claghorn said:
After poking around in system file chooser menus and options for what seemed like hours, I finally stumbled across how to point at a directory that wasn't one of the standard locations.
Click to expand...
Click to collapse
So? Tell us what you found so we can do it too...
the_phantom095 said:
So? Tell us what you found so we can do it too...
Click to expand...
Click to collapse
I don't remember exactly, but I found some button somewhere that brought up a list, and one of the elements in that list was named for my phone with a generic picture of a phone. Absolutely at random I poked it to see what would happen, and apparently that is the icon that in the twisted mind of android developers meant "root", from there I was able to navigate to the directory I wanted to choose. No thought process of mine would ever have hit upon that as meaning "root".

Categories

Resources