Related
I have noticed that over certain period the performance of my Kaiser degrades. Considering that it works great even after I install additional software and configure it to sync with exchange 2007, over time it start to act flaky. Could somebody tell me what causes this and how to resolve it?
My guess is it has to do with temporary and cache file used by different applications and os. If so, what should I be getting rid of?
Thanks in advance
rgelfand said:
I have noticed that over certain period the performance of my Kaiser degrades. Considering that it works great even after I install additional software and configure it to sync with exchange 2007, over time it start to act flaky. Could somebody tell me what causes this and how to resolve it?
My guess is it has to do with temporary and cache file used by different applications and os. If so, what should I be getting rid of?
Thanks in advance
Click to expand...
Click to collapse
u need to use some "cleaning tools" like sktools or memmaid. There are options to clear some files(temp. internet, ...) and to free up your ram. Thats the main problem, your ram memory is decreasing over time and the phone is acting slover. To make it quicker is to make softreset after some time or use this tools and free up your ram.
You also can use some tools (apps) which will automatically and periodically do the soft-reset for you,
e.g. during the night your device is unused etc...
You can use tools, I like Sk Tools as it is the most comprehensive tool period. But there are many things you can do manually as well.
Delete the files in: \Application Data\Volatile, also in: \Windows\Profiles\Guest\Cookies; History; & Temporary Internet Files; as well as files in \temp.
GSLEON3 said:
You can use tools, I like Sk Tools as it is the most comprehensive tool period. But there are many things you can do manually as well.
Delete the files in: \Application Data\Volatile, also in: \Windows\Profiles\Guest\Cookies; History; & Temporary Internet Files; as well as files in \temp.
Click to expand...
Click to collapse
I have to agree with GSLEON3. SKtools was by far the best piece of software I have purchased for my kaiser. It allows easy cleaning, sip changes, today changes, registry editor, and nearly any tool or tweak you can think of.
I suggest you check out their trial and see what you think.
So I am stealing this from another forum, hopefully it will cut down on some of the repeated threads. Copy and pasted to reduce the strain on my brain and typing.
Stolen from the Sprint Hero board on AndroidForums.com - Props to PDragon for typing it all. I have slightly modififed.
ROM - Read Only Memory
While the term has changed a bit from it's original meaning, it's essentially computer memory that does not require power to store it's data (non-volitile). In the sense of a smartphone like the Hero, it's the Internal Memory where the OS is stored. From what I've gathered, the Internal Memory is just Flash Memory (a special type of ROM) partitioned into two parts, one for the OS and the rest for apps to use. So, the OS partition essentially is true ROM, unless you root the phone. The software that groups like xda-developers make available are called ROMs because they're a ROM Image.
For the Hero this size is 512MB.
SDcard is a larger capacity external Flash Memory card.
Recovery Rom - I would assume enough said, but. This is the recovery partition of the phone for when things go bad, typically how you will load your ROM packages, some times refered to as "Update.zip" files.
Vanilla Rom
All the fancy bells and whistles have been pulled out so that its as minimalist as possible, users can then build on this for their own custom setup.
RAM - Random Access Memory
This is where current processes that are running are stored and keep the data they need immediately available to them. This is the memory you see when you run any of the Task Managers showing you currently running apps and the available memory. It's a completely different part of the phone from the Internal Memory discussed above. Data stored in RAM requires constant power and does not survive a power cycle of the phone (volitile).
For the Hero this is 288MB.
Root
This is the term being thrown around for modifying a smartphone to put custom software on it that normally wouldn't be allowed through means included with the phone (Android Market or an .apk file for a non-Market app). "Root" is the common term chosen because, in a Unix environment, the "root" user has complete and total control of the entire operating system of the computer. So, "rooting" the phone means taking complete control over its operating system. This is usually done by means of finding a flaw somewhere in the phone's firmware to allow access to the restricted Internal Memory where the OS resides. You then install a custom ROM (see above) to let you use your phone from then on.
Android is a bit more unique than any of the previous smartphones in that you don't really need "approval" from a higher power (ex, the Apple store) to install an app that hasn't made it onto the Market. Just uncheck the box Settings -> Application settings -> Unknown sources and you're free to install any .apk file you wish. So Android phones are more like a regular computer in that you're free to install whatever software you want from whichever source you want. Just be careful of where you get apps from outside of official Market sources. Also like a regular computer, you could open yourself up to having your personal data stolen.
Rooting still gives some advantages for power users, but for normal or even intermediate users, you probably don't need to root the phone to enjoy it as much as you'd have needed to for previous smartphones.
For further discussion, please see our Developer Forums.
Tethering
This is the term used for using your phone as an Internet access point to allow an attached computer to access the Internet. It turns your phone into a mobile modem. Please don't discuss Tethering here. See the thread Does Tethering work? to discuss this further.
*Let me know if we should add other terms. Maybe a MOD can stickie this.*
but where are the guides
jtadeo said:
but where are the guides
Click to expand...
Click to collapse
I think all of the guides have been Stickied on the first page of the board. Do you need one in particular??
At the bottom of the main forum is a dictionary for anyone to use. I don't see the point in this unless it is made for lazy people that just want what they want now and can't take time to research.
tdavis42 said:
At the bottom of the main forum is a dictionary for anyone to use. I don't see the point in this unless it is made for lazy people that just want what they want now and can't take time to research.
Click to expand...
Click to collapse
Do you think we would have as many of the new user questions repeated over and over if they did take time and do the research? Think not... You must have some real faith in humanity if you think people won't take the easy way out if it is offered. Hence my copy and paste from another forum.
What was a SDcard? and I'm not understanding the concept or RAM....
hahaha, just joking..
Nice work, I'm sure this will come in handy for some folks!
for all other definitions check out : http://wiki.xda-developers.com/index.php?pagename=Glossary
N0J said:
What was a SDcard? and I'm not understanding the concept or RAM....
hahaha, just joking..
Nice work, I'm sure this will come in handy for some folks!
Click to expand...
Click to collapse
I am not making fun of anyone, I have been there my self. But I have seen the above questions on other forums! lol.
I must say XDA members tend to be a little ahead of the learning curve.
Search Button!
jtadeo said:
but where are the guides
Click to expand...
Click to collapse
Search button is your FRIEND!!!
Kcarpenter said:
I am not making fun of anyone, I have been there my self. But I have seen the above questions on other forums! lol.
I must say XDA members tend to be a little ahead of the learning curve.
Click to expand...
Click to collapse
lol, yeah
xda is good
jjjjayd13 said:
Search button is your FRIEND!!!
Click to expand...
Click to collapse
but the search button is terrible, lol
I've even seen a disclaimer on a mod's signature saying that it sucks and to use google, haha!
Update 03/08/11
NotEnoughSpace has finally graduated to the Android Marketplace!
Beta testers can currently get it at its "thank you" price of $0.99.
I will set the regular price in a week so hurry
*** *** *** ***
Note #1: your phone needs to be ROOTED to use this application.
Note #2: so far, only tested on Droid Incredible and HTC Desire.
From the built-in help:
About this application
This application's goal is to help you understand and possibly work around a common vexation of using Android; i.e. these messages:
"not enough space"
"Low on space. Application data space is low."
What is happening?
You've checked your phone's vitals and it appears that it has plenty of space left, both internal storage and SD Card storage. So, what's happening?
Android allows your applications to store their data, primarily, in a dedicated partition whose size happens to be much smaller than even the phone's internal storage space. Generally south of 150 MBs.
This is the partition that fills up so quickly and that Android has been complaining about.
And the help goes on and on so I'll stop here.
The short version
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Additionally, you can use the app to cleanup the Dalvik cache but it's not the app's primary function.
Please, help test it!
I will gladly welcome any constructive criticism; I expect most of it to be along the lines of "The tool is not quite accurate" and that's what I wish to address first.
To create a debug report (these are very important):
Simply select the "Debug" menu and follow the on-screen instructions.
The whole email business is so that you can copy/paste from a desktop client.
The .apk can be downloaded from nexus.zteo.com/projects/beta/
Update 12/04/10
The application should now display correct stats for phones/ROMs that use Busybox. If you have already tested it and it said "NaN" please try it again.
This should be interesting, maybe kinda Android GpartED?
cyansmoker said:
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Click to expand...
Click to collapse
Curious, does this mean you can move and symlink data, or are you talking about Froyo Apps2SD?
teorouge said:
This should be interesting, maybe kinda Android GpartED?
Click to expand...
Click to collapse
Obviously not, he's managing what's there, he's not partitioning anything.. Did you read?
khaytsus said:
Obviously not, he's managing what's there, he's not partitioning anything.. Did you read?
Click to expand...
Click to collapse
Come on, what's the matter dude? I did read, and from what I read I thought whole partition handling was the only thing this app would be missing. Single files is a good start, but making that "kinda GpartED" would be killer. Though I fear you should be in bootloader/recovery to work on those, don't know how Android deals with them (i.e. in Windows you have programs you can change partitions size "on the fly" with). Now that I elaborated more, are you still angry?
This application would be genius. I'm wondering however, will the phone still be able to access that data once it is moved off of the system memory and onto the SD Card? And is it possible to actually partition the /data/data section so that it will use more than the allowed 150mb that it has, like open it up so that instead of it being partitioned to a small amount, it just roams free with the rest of the 748mb or whatever that is in the system memory.
A promising app, thanks.
Navigon, however, doesn't like its data to be moved to SD card. Even after moving it back with the app, it FCs (Android 2.1). I think I have to reinstall. So be careful if you're trying to do the same.
Edit: After reinstalling the .apk (without doing anything with the maps), Navigon works again. The packet installer didn't ask me if I wanted to replace the existing installation (as is otherwise usual in such a case).
Edit2: There seems to be a general problem. The next app I tried was mediaU. It has a large database which I moved (using NES) to the SD card. It also FCed after having moved its database, and restoring to the old location (again using NES) also didn't succeed. No error message during restore, but app still won't run.
Phone: Galaxy 3, Android 2.1 (original ROM).
mizch said:
A promising app, thanks.
Navigon, however, doesn't like its data to be moved to SD card. Even after moving it back with the app, it FCs (Android 2.1). I think I have to reinstall. So be careful if you're trying to do the same.
Edit: After reinstalling the .apk (without doing anything with the maps), Navigon works again. The packet installer didn't ask me if I wanted to replace the existing installation (as is otherwise usual in such a case).
Edit2: There seems to be a general problem. The next app I tried was mediaU. It has a large database which I moved (using NES) to the SD card. It also FCed after having moved its database, and restoring to the old location (again using NES) also didn't succeed. No error message during restore, but app still won't run.
Phone: Galaxy 3, Android 2.1 (original ROM).
Click to expand...
Click to collapse
Tonight I'm gonna try for sure and report back, this does look promising! Did you succeed with some apps?
teorouge said:
Did you succeed with some apps?
Click to expand...
Click to collapse
K9 seemed to work. However, I had to reflash for another reason, and now K9 reports its lib as being in the standard location (reported by NES). For now, I have stopped testing NotEnoughSpace so I can not say more.
mizch said:
K9 seemed to work. However, I had to reflash for another reason, and now K9 reports its lib as being in the standard location (reported by NES). For now, I have stopped testing NotEnoughSpace so I can not say more.
Click to expand...
Click to collapse
eh? K9 has native use of the SD card if you enable it... Why would you use this on it?
Thanks for doing this testing, guys.
I will install these apps and test them myself.
teorouge: you moved the database/ directory, is that it?
mizch: so, you re-installed K9 after reflashing, right?
Everybody: what about the "free space" numbers reported by the app? Do they seem correct to you? I had to use a dedicated algo to compute them, taking block size in account, and I've had reports of fairly surprising discrepancies.
Free space doesn't seem to update after moving, though I see the difference in the Titanium Backup count: tried for a couple of apps (G Earth and well... don't remember!) and it did move everything, free up space on /data and I can still use those apps. Still afraid to move many apps, just moving one at the time and test.
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Heres the debug report: 1:/dev/block/mtdblock6 268032 224572 43460 84% /data
2:62855 /data/data
3:4096/0/265352
Sorry - never mind; found the info in FAQ.txt after downloading
cyansmoker said:
Note #1: your phone needs to be ROOTED to use this application.
Note #2: so far, only tested on Droid Incredible and HTC Desire.
From the built-in help:
About this application
This application's goal is to help you understand and possibly work around a common vexation of using Android; i.e. these messages:
"not enough space"
"Low on space. Application data space is low."
What is happening?
You've checked your phone's vitals and it appears that it has plenty of space left, both internal storage and SD Card storage. So, what's happening?
Android allows your applications to store their data, primarily, in a dedicated partition whose size happens to be much smaller than even the phone's internal storage space. Generally south of 150 MBs.
This is the partition that fills up so quickly and that Android has been complaining about.
And the help goes on and on so I'll stop here.
The short version
Using this application, you can see which applications use up most of your phone's data space and decide what to do with them.
You can also move the biggest directories to the phone's SD Card.
Additionally, you can use the app to cleanup the Dalvik cache but it's not the app's primary function.
Please, help test it!
I will gladly welcome any constructive criticism; I expect most of it to be along the lines of "The tool is not quite accurate" and that's what I wish to address first.
To create a debug report:
Simply select the "Debug" menu and follow the on-screen instructions.
The whole email business is so that you can copy/paste from a desktop client.
The .apk can be downloaded from nexus.zteo.com/projects/beta/
Click to expand...
Click to collapse
Do you have more details about this program anywhere? I went to the download page but see no further info...
Help Section Typo
Under A Quick user guide in your user guide(?) that prompts when you run the apk for the first time there is a typo in the last sentence:
You can touch any application to explore its content and figure out what is taking up some much space.
Click to expand...
Click to collapse
So far I havent run into any issues with the apk...
Not to burst anyones bubble, but Choose Install Location has been doing this in a comprehensive way for weeks. http://www.appbrain.com/app/choose-install-location-free/com.beidl.chooseloc
Free Memory?
bdt1995 said:
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Click to expand...
Click to collapse
I'm having the same problem as bdt1995. Running CM 6.1 RC1.. the only difference is the total memory is 196.2 and the free is:194.3 MB cuz I'm using a Nexus.. CM6 might be the problem?
bdt1995 said:
I just tested it out on my Droid 1, which is running CM6.1RC5 (Not sure if thats relevant or not), and it doesnt seem to work very well on my phone. All apps came back as 4KB, at the top it showed this... Total:261.8MB Used:NaNKB Free: 259.1MB Database NaNKB Files: NaNKB Preferences:NaNKB Cache:NaNKB.
Heres the debug report: 1:/dev/block/mtdblock6 268032 224572 43460 84% /data
2:62855 /data/data
3:4096/0/265352
Click to expand...
Click to collapse
Same here (total 196.2MB, Free 194.3MB, all apps 4KB), system details in my sig. Using apps2sdext, over 200 apps.
Debug info:
Code:
1:/dev/block/mtdblock5 200960 112144 88816 56% /data
2:96070 /data/data
3:4096/0/198951
Same problem as above with Cyanogen 6.02, However it looks promising.
I Think that moving data to standard SD can leads to security issue, because SD can be readed and written by any apps. Should be better if the app recognize /EXT partition, if exist, and move data here.
i'd like to try it and i get my lil sis to try it also she gets this problem a lot i have the droid incredible and my sis has the droid eris.
bdt1995, rnh16, britoso, mmorselli:
Thanks for the debug info. Indeed Cyanogen is a tad "exotic" for NES at this point.
Please download the latest version of NES -- I just uploaded it. It contains an extra debug line which should allow me to make it work so please paste your debug output here one more time.
JerseyFF:
Oops, thanks.
lhinsz:
Because it is a beta version, it hasn't been released yet and all the information you may need is contained in the Help screen. I tried to make it comprehensive.
BigNate:
Should work with HTC devices, yes. Could you or you sister paste her phone's debug screen here?
Zandog:
I do not think that both apps share the same goal so no lives should be lost (Seriously, not much of a bubble to burst?)
This has been bothering me for quite a while, so I conjured a little story to help sooth my frustration.
Lets say my Android device is the new tenant of a nicely formated loft, this loft being 16gb of square space. To commemorate this new exciting space my device throws a house party. Most of the Apps he invites are pretty well behaved, but some start spilling drinks, then puking on the carpet, then having an orgy, then bukkake-ing the root directory. After discovering such acts, the device politely requests the disruptive guests force quit and leave. "I need more space on my phone." the device replied as each questioned on their way out. To his disbelief, NONE of the Apps cleaned up their mess! Even worse it seems some of the classier Apps, though more organized seem to have been influenced too. Unfortunately the device is forced to live with it, as the police force stopped responding to calls in his neighborhood. One man tries, but it always returns to a mess.
I hope that entertained someone.
i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...
PhxkinMassacre said:
i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...
Click to expand...
Click to collapse
I hope you understand about the unused folders and NOT the bukkake-ing!!
hello, nice story!
I won't say that I am even close to being a developer but I do develop some apps and the thing that I wan't to point out is that apps do not run when they are installed or uninstalled. It's not each application job to clear up the mess it may have created but package manager's which apparently leaves some files be just in case you would like to reinstall the app later(?)...
I would propose to look for a more efficient package manager or doorman/janitor for your loft
That's why I don't invite the guy whos only existence is to make farting noises!
Very good point. However, one thing I don't know is if uninstalling through the market cleans up the SD card better than using a third party mass uninstall app. Something you may want to experiment with.
Back at it again...
Here I am again, and I still don't flippin get it!
After reading some of your comments I realized my main point kind of got glazed over(no pun intended @Scudderb)
My big issue is that there's no hierarchy in place for this crap. In windows, program files are stored in the 'Program Files' directory. In Android (and I credit google and the developers for this sloppy BS) Apps are just throwing all their **** in with my stuff on the ROOT.
How is this acceptable. Seriously, HOW? And if its all cache files and/or temporary documents than WHY THE **** ISN'T ALL THIS CRAP BEING PUT INTO A TEMP/CACHE FOLDER.
I'm PISSED! Why does every app I install get to put their own folder on the ROOT WITH the FOLDERS and FILES that actually matter to me ex: like my music, pictures, movies, documents (OH and by the way, a lot of apps developers do a REALLY ****ty job with their NAMING CONVENTIONS so the folders being created may or may not even look related to the app that put it there!)
::end rant::
My apologies for the colorful language, folder structure and hierarchy are something I design as a web designer so when I see this crap going on in my phone like the inmates are running the asylum... I get angry.
Today I was cleaning up my SD card for the umteen'th time, and found that Foursquare was dumping its temp files directly onto the root of my directory. I blew my top and had to get it out of my system... so..
A MESSAGE TO ALL THE APPS PULLING THESE SHENANIGANS: GROW UP!
The problem here is that it's hard to do it right
For custom data, files are supposed to be saved into "/data/data/com.appname/blah" (that's from the top of my head, could differ slightly). That's the directory to use for data files, but there's one big issue with it: it's on the internal memory storage. We all know that internal memory on Android (without custom ROMs) is.. limited. That's probably why most devs are using SD for larger files.
There's also the "Android/data/com.package_name.blah/blah" directory on the SD card. This directory should be used by apps to store files into and is automatically deleted when the user removes the associated app (but only when you're running Froyo or greater).
The issue with this approach is that users (and developers too, when testing the app) will lose all their data when removing an old version of a specific app. Let's say there's a bug with the Market again and the app suddenly gets uninstalled. User will have to reinstall, result: data will be all gone. That's only one of the many doom scenarios.
I can't speak for other developers, but that's more or less the reason why I started to use a common directory outside of the preferred ones when I was doing apps. It's not a great situation, I fully agree. But would you rather have your data accidentally deleted?
If anyone knows a good way to get around this issue, I'd love to know more about it...
orly
Thanks for the reply @Stripeymilk
I can think of multiple solutions:
#1 Development community adopts a universal directory for files deemed 'User' or 'Save' data that should be stored for future use. (or Google creates this for developers)
#2 Development community adopts the practice of allowing users to pick the directory users want to store an apps data in. (prompt at app's first start)
#3 Store files/data in the cloud.
#4 Users dump trash in the lobbys/living-rooms of developer's and see how quickly they find a solution.
#5 USE THE "Android/data/com.package_name.blah/" FOLDER WHEN ALL YOU'RE REALLY DOING IS STORING CACHE/TEMP FILES!!!
BOTTOM LINE: Its not hard to do it right, Its just hard to get people to do it.
You make it sound so easy
1) I'm all for it, but Google needs to put its weight behind an approach like that because otherwise people will say "I like /Data better than /data or /Mydata or /MyData". It's a bit like coding conventions: everyone wants to be different.
2) Good for techy people, not so good for "normal" users. Could make it easier with a small "file manager", but that's too much work for indie devs. Could be a nice idea for a new open source project though.
3) Great idea, could actually work if the associated account would be created automatically (like in Cut the Rope for Android with Scoreloop), but:
- The backup functionality in Android for storing data in the cloud is available for API level 8 and greater, making it of not so much use when you're targeting API level 5 or 6 and greater. Could be fixed by using something like Google Storage combined with Jets3t instead, but that would be useless for apps written in C++, like many games are.
- Cloud storage isn't free. Developers can't pay for that as it would be too expensive. If every Android user would've gotten free cloud storage from Google it could be a nice alternative, but (yeah, there's always a but) most current users don't have that.
4) If you're prepared to send your trash by plane to another country, go for it!
5) Agreed. Useful for temp data.
I'm not trying to make it sound easy, believe me I know how it isn't. I'm trying to make it sound simple, because really.. it is...
In response:
1) I agree and this is exactly what I mean by the real hard part is getting people to do it. This requires widespread endorsement by developers big and small - that this is a 'best practice' that should be adhered to. I think the gate swings both ways though.
example: Twitter didn't invent hash tags, their users did, and with its widespread adoption, Twitter adopted/implemented it too.
2) Another good point, though this process can be curated to drive the user in the right direction (holding their hand). The XBOX 360 does this for every game you play, the first thing it does is ask you which storage device you want to use for game saves.
example: in combination with solution # 1, the default folder the app saves to could be '/data/theAppsName' and the prompt could say "This app saves files to your SD CARD in '/data/theAppName'. Would you like to choose a new location?" [Yes] [No] [?]. The [Yes] option brings up a simple file manager, the [No] option uses that location, the [?] option brings up an easy to understand write up on what its asking and why its asking it.
3) We'll get there eventually, my point really was if you've got the resources, why not. Its a solution better than #1 and #2
4) I plan on sending human clones to create trash individually and exponentially
5) AMIRITE~!
In all seriousness though, thank you @Stripeymilk for taking the time to go in depth and have a conversation about this. I seriously think it doesn't take an act of Godogle to solve this (to what I beleive) is a big issue!
I can't agree more with you.
As developer (Windows, iSeries) I try to make my programs as structured and readable as possible. The same goes for the files and folders used used by the programs, but sadly, even with all the available resources, some people (colleagues) make a complete mess of it, cause "that's not/less important", as long as the program does what it's intended to do ...
It's all about the resources and people using them the right way!
Cool, didn't know about the hash tags on Twitter
Well, we're on a great site here with developers on it. If everyone here would adhere to the same standard, it could at least be a nice push to make the Android SD card world a better place.
What's the directory we're going to settle on? Any pros and cons?
APKSPY - RESURRECTED
First:
I want to thank @ido for the original application -- It was his idea (and his code I've hacked :cyclops and modified.
Second:
Since Ido seems not to be active anymore I'll re-publish the application here.
Unless for some reason Ido will specifically ask me to remove it.
The original post
ido said:
ApkSpy is a simple tool I hacked up tonight which allows you to easily view the manifest of an APK (screenshots attached - not up to date though) just by double clicking it. (It can even associate with the .apk filetype, yay!)
ApkSpy relies on the aapt.exe tool from the android SDK, so you must have that installed (or just copy aapt.exe from somewhere, that's the only file needed to run ApkSpy).
Click to expand...
Click to collapse
Third:
Requires Microsoft©® .Net Framework v4
(Kind of since I've done it some time ago and waited for Ido [the orignal developer] to respond and allow or disallow me to re-publish... So, I don't remember all the changes I've already done...)
v1.8.19 CHANGELOG:
Fixed some Date parsing function (zipped file with no time stamp) in ZipStorer (by @Jaime Olivares) maybe causing some of the error reported here...
v1.8 CHANGELOG:
Changed Icon - CONTRIBUTED BY @Jarmezrocks
Removed unneeded tabs (System, Batch Rename, Log)
Minimize / Maximized restored back
v1.7 CHANGELOG:
(Actually 4.1.7.870, but the first and the last parts are internally used :fingers-crossed:)
Try to automatically find adb.exe and aapt.exe in ApkSPY directory or in PATH variable: If failed finding any of the executables, the user is asked to manually locate them
(★ Currently the location is not saved... ★).
Check if the ADB server is running and Start or ask if to Restart ADB server
Tidy up the code
Refining the original libraries written by Ido related to ADB and AAPT
Some more minor code updates
Revised most of the "General" tab (other tabs ware not touched) of the UI:
Grouped and ordered controls on form
Added DropDown of devices attached (★ Not automatically updating upon plugging... ★)
Added some control over ADB actions
Added status bar that some other details are shown, e.g. device type (Nexus, I9100...), OS version (4.1.2, 4.4.2...) and OS build (KOT49H, KVT49L...)
Added (nice looking) information panel with clickable links (for actions on the form) and coloring
Other changes (I can't recall right now, since I've done it some time ago and waited for a response from Ido for permission to republish)
(★ Maybe I'll add an option for this later, depending on my -- not to much -- free time and requested by users .... ★)
Known bugs:
Sometimes ADB fails to return build.prop property for the status bar (however it has not caused any critical problem, so (I think) it can be safely ignored) -- haven't been able (yet) to find the exact state it is happening
Please take the time to look at the application ABOUT tab
Any Other ideas are welcome!
If you like it, Don't forget to Thank me
If you enjoy using this application as much as I have enjoyed re-writing it
please donate to show your appreciation
RESERVED
Nice
Sent from my SM-N900T using Tapatalk
Good news
Bug report, every time I open this program, this dialog pops up, after click OK, this program works well.
PS, aapt.exe is in the same dir with ApkSpy
I got this errors:
1:
2:
Error in property: [email protected]@usrdata
cmlx said:
Good news
Bug report, every time I open this program, this dialog pops up, after click OK, this program works well.
PS, aapt.exe is in the same dir with ApkSpy
Click to expand...
Click to collapse
Hey dude,
I am not sure what you are doing wrong on your PC but it's certainly not the app as it works perfectly fine on my computer? Out of interest and for the sake or helping the new dev I thought I would raise a few points just to eliminate any finger pointing. There's a wishy-washy area when it comes to building/hacking things that were originally someone elses work...so yeah one can easily make great improvements yet open the door to bugs at the same time too. Anyway...thought I'd ask this:
Does aapt sit on your path? I know you said it is in the same directory, however just like a batch script in Windows it needs to "CD" or change directories to the %~dp0 if it is to understand what an executable is that happens to be sitting in the same directory as it's self. So this is is kinda directed at the new dev now. What I think is happening is that aapt is assumed to be in the system path when quite often it is not (i.e. those on XDA who have not yet played with the Android SDK properly). Put simply unless the application knows it is in the same directory as your executable it won't at all understand what aapt is. Does that make sense?
@dmagician , I would make sure that the apkspy app can do a check (even if it is a string search for the first few lines returned from aapt.exe), a simple if statement before throwing that error ....actually it would likely be an 'if not' statement. I don't have any of the code in front of me atm but I can help you out if you like? I was hacking this app myself sometime ago when ido first released it just using reshacker.
Note: If you are stuck and don't have source code you technically could write a full AutoIT wrapper for this app that could do all the checks and more and then bundle everything up into the one exe still. Check out the newer WinAPI stuff for AutoIT and in particular "Run binary" (yes that's correct you can just about run anything repackaged now and not need to deploy the original exe's or even libraries....they can all be stream fed to AutoIT @Compile time and need not be typically "installed" like you used to have to do. Anyway...I am waffling on shoot me a PM man.
@cmlx, to overcome your ApkSpy woes, and until dmagician can put his finger on what the cause is or what ido did when building it ages ago.....then you will firstly need to be patient (props to dmagician to figuring sh!t out so far) but till then where ever you have dumped the ApkSpy and aapt.exe on your system; just copy the address and put it on your system path. To do this 1) right click on My Computer or Computer if you are on Win 7 or 8. 2) Choose properties. 3) Advanced System settings and then at the bottom of tab you will see 'Environment Variables', click it and you will see some "User" and "System" options. Depending on your User access rights on the system you are running on (hopefully you are running as Admin surely?) then you can choose to edit your main system path or create a new variable in your user settings called 'path' Note User variables are always postfix to system variables but should always work anyhow.
Disclaimer: cmlx, if however you have already got an aapt.exe already existing on your system path but it is dodgy then you have to ensure that the good aapt.exe in your app directory is placed on path BEFORE the dodgy one....just sayin. Cause your system searches till it finds what it wants and then doesn't search anymore. Simple but can stuff people up quite often....and likely your case. Nowdays we tend to work from the known application location and not from a "Global environment path" when we know that there are going to be conflicts...and I can assure you that aapt is possibly the worst and most modified binary out there LOL. Hence this is also a note to the dev to ensure that ApkSpy reads from the current directory.....or like I am suggesting, wrap aapt up in the main application as well and that way there is no confusion EVER.
And I am done.....
Oh wait no I am not....sorry bug reports LOL :good: you thought I was all praise eh? Got another thing coming man
OK....so um the red boxes should explain everything. A picture says a thousand words (and yeah I needed at least 1 picture for this god damned long arsed post - sry). Um why in gods name would you remove the minimise and expand buttons? WTF? Anyway...it works but errrm yeah it doesn't wrap the text anymore? and it cuts the words off lol.
Other than that....I only really have one suggestion and it isn't even really a suggestion as I have kind of already made it so I can just give it to you if you want it? And that is that most people (well I can't say most as I am not speaking for everyone) tend not to like how apps take over their system. This isn't your fault at all in anyway as the first dev thought it was a good idea back then.....and back then hardly anything in Windows knew what a freakin apk was so it was a GOOD thing.....However now, every man and his dog wants to steel .apk extension for himself. I myself tend to be all over the shop with apks so I tend not to want to have any particular Windows app take it away from my control. I use WinZip as the main app for simple double click open as I want to see the contents of apks without needing to decompile them (great for theming) however I have apk shell extensions displaying the apks main icon to explorer, so if I set WinZip as default I get a nice lumping hunk of gold turd/box running rampet all over my Windoze bro ......so if you like I can show you my code that allows me to have default apps for specific tasks without interfering with anyones existing sh!t It looks neat too as you can right click any apk and just choose from a dropdown list what particular app you want at the time. If one has the need to use more apps then they need only put those apps in a list. There is nothing worse than double clicking an apk to find that Bluestacks or some other rubbish Windoze crApp has taken offf with your apk.
Lastly I thought I'd ask, Why no config file? Why store everything in memory? I know it's only small....but seeking for things everytime it is executed is a pain in the arse and not good practice. At the very least if you have no idea how to make an exe totally portable then you could reference a config file in the same directory....Or do as most do and write entries to the registry all neat and tucked away. If we get paranoid about "portable-ness" then we write to temporary space in the registry and make sure we clean up upon closing and/or inspect at runtime. simple!
I have plenty of AutoIT scripts that do exactly that too, so if you are stuck for ideas let me know. Anyway I have rambled enough, good luck and I will keep reporting bugs haha
Edit: That's waaaay too many emoticons. Oooops someone is a little high aren't they?
PS: I have attached my PNG of the icon I used for this bugger waaaaaay back....it's less generic and feel free to take it and abuse it and do as you please.
cmlx said:
Good news
Bug report, every time I open this program, this dialog pops up, after click OK, this program works well.
PS, aapt.exe is in the same dir with ApkSpy
Click to expand...
Click to collapse
Yes, I know of this one (and I've specifically wrote about it in the OP), it is NOT related to AAPT executable but to the way ADB is acting (sorry, out of my hands... :angel:
Explanation
The error comes from the application when trying to query the "ro.build.id" property via adb ('ADB shell getprop "ro.build.id" ') command.
I've came across this one but cannot determine the exact situation it is happening (as it can occur when first launching of the app, but after the app is loaded, clicking on refresh does not show this error)...
[ I've tried it on with the (only) two devices I own (1st dev. is stock (only the kernel is changed) 4.4.2 Nexus 4, 2nd dev. is S2-i9100 with customized RR ROM)and it seems to happen ONLY on the S2...]
It looks that in times, the getprop is being executed before the whole "build.prop" is being processed by ADB (This one I cannot control since it is happening on the ADB shell side [running on the device] -- unless MAYBE doing some [UGLY] delay after first initialization of ADB, which is, by far NOT best practice of process handling according to the literature)...
CyberianIce said:
I got this errors:
1:
2:
Error in property: [email protected]@usrdata
Click to expand...
Click to collapse
Which came first, the "SpkSpy spy stopped working" or the "Error in property" (if anyways related)?
Was it on the same run or two different runs?
As of the 1st one:
I do not have enough information from your post to check it up...
I'll post a new version which shows the exception details
As of the 2nd one:
Can you send me a copy of your /system/build.prop (so i'll be able to dig trough it and check it)?
It looks like my name-value splitter character exist as part of a given value in your build.prop .
Wooow, Long one! But it is nice to know people are using (trying) it!
Jarmezrocks said:
Hey dude,
I am not sure what you are doing wrong on your PC but it's certainly not the app as it works perfectly fine on my computer? Out of interest and for the sake or helping the new dev I thought I would raise a few points just to eliminate any finger pointing. There's a wishy-washy area when it comes to building/hacking things that were originally someone elses work...so yeah one can easily make great improvements yet open the door to bugs at the same time too. Anyway...thought I'd ask this:
Does aapt sit on your path? I know you said it is in the same directory, however just like a batch script in Windows it needs to "CD" or change directories to the %~dp0 if it is to understand what an executable is that happens to be sitting in the same directory as it's self. So this is is kinda directed at the new dev now. What I think is happening is that aapt is assumed to be in the system path when quite often it is not (i.e. those on XDA who have not yet played with the Android SDK properly). Put simply unless the application knows it is in the same directory as your executable it won't at all understand what aapt is. Does that make sense?
Click to expand...
Click to collapse
Hi
As I've replied to @clmx, This error is not related to AAPT (either executable [location or whatever] or results), but to the ADB command being used...
Jarmezrocks said:
@dmagician , I would make sure that the apkspy app can do a check (even if it is a string search for the first few lines returned from aapt.exe), a simple if statement before throwing that error ....actually it would likely be an 'if not' statement. I don't have any of the code in front of me atm but I can help you out if you like? I was hacking this app myself sometime ago when ido first released it just using reshacker.
Click to expand...
Click to collapse
Sorry I did not understand... Check for what?
Jarmezrocks said:
Note: If you are stuck and don't have source code you technically could write a full AutoIT wrapper for this app that could do all the checks and more and then bundle everything up into the one exe still. Check out the newer WinAPI stuff for AutoIT and in particular "Run binary" (yes that's correct you can just about run anything repackaged now and not need to deploy the original exe's or even libraries....they can all be stream fed to AutoIT @Compile time and need not be typically "installed" like you used to have to do. Anyway...I am waffling on shoot me a PM man.
Click to expand...
Click to collapse
I do not need the Auto-IT to wrap these files (although I am using it for other automation in windows), as I can do it right in the C# code (on one of my early versions these files was embedded...)
BTW, I know there are some antiviruses out in the wild that do not like the embedded executables -- but it can be done -- and probably will save some time to anyone using this app...
If it will be required / asked, I'll embed the 4 binaries (AAPT.EXE, ADB.EXE, and two DLL's AdbWinApi.dll and AdbWinUsbApi.dll [I'm not sure both are required]) needed by the application.
Jarmezrocks said:
@cmlx, to overcome your ApkSpy woes, and until dmagician can put his finger on what the cause is or what ido did when building it ages ago.....then you will firstly need to be patient (props to dmagician to figuring sh!t out so far) but till then where ever you have dumped the ApkSpy and aapt.exe on your system; just copy the address and put it on your system path. To do this 1) right click on My Computer or Computer if you are on Win 7 or 8. 2) Choose properties. 3) Advanced System settings and then at the bottom of tab you will see 'Environment Variables', click it and you will see some "User" and "System" options. Depending on your User access rights on the system you are running on (hopefully you are running as Admin surely?) then you can choose to edit your main system path or create a new variable in your user settings called 'path' Note User variables are always postfix to system variables but should always work anyhow.
Disclaimer: cmlx, if however you have already got an aapt.exe already existing on your system path but it is dodgy then you have to ensure that the good aapt.exe in your app directory is placed on path BEFORE the dodgy one....just sayin. Cause your system searches till it finds what it wants and then doesn't search anymore. Simple but can stuff people up quite often....and likely your case. Nowdays we tend to work from the known application location and not from a "Global environment path" when we know that there are going to be conflicts...and I can assure you that aapt is possibly the worst and most modified binary out there LOL. Hence this is also a note to the dev to ensure that ApkSpy reads from the current directory.....or like I am suggesting, wrap aapt up in the main application as well and that way there is no confusion EVER.
Click to expand...
Click to collapse
The application IS searching for AAPT and ADB executables; The order is
Application directory (where ApkSpy.exe resides)
PATH environment variable
Jarmezrocks said:
OK....so um the red boxes should explain everything. A picture says a thousand words (and yeah I needed at least 1 picture for this god damned long arsed post - sry). Um why in gods name would you remove the minimise and expand buttons? WTF?
Click to expand...
Click to collapse
Mostly I like it this way, otherwise - No specific reason...
It will be back in the next version...
Jarmezrocks said:
Anyway... it works but errrm yeah it doesn't wrap the text anymore? and it cuts the words off lol.
Click to expand...
Click to collapse
This Tab was NOT changed by me in any way... To be honest, I've thought of removing it completely -- But -- out of respect to Ido's work -- I've left it in.
I assume it is not wrapping due to Font size changed by me globally...
I'm seriously giving it second thoughts -- if it should stay at all (It was originally meant for batch rename of multiple APK's... I haven't used it even once...)...
I'm Really, REALLY, think of removing it completely (unless someone is / will be using it -- then I'll fix it all)...
Jarmezrocks said:
Other than that....I only really have one suggestion and it isn't even really a suggestion as I have kind of already made it so I can just give it to you if you want it? And that is that most people (well I can't say most as I am not speaking for everyone) tend not to like how apps take over their system. This isn't your fault at all in anyway as the first dev thought it was a good idea back then.....and back then hardly anything in Windows knew what a freakin apk was so it was a GOOD thing.....However now, every man and his dog wants to steel .apk extension for himself. I myself tend to be all over the shop with apks so I tend not to want to have any particular Windows app take it away from my control. I use WinZip as the main app for simple double click open as I want to see the contents of apks without needing to decompile them (great for theming) however I have apk shell extensions displaying the apks main icon to explorer, so if I set WinZip as default I get a nice lumping hunk of gold turd/box running rampet all over my Windoze bro ......so if you like I can show you my code that allows me to have default apps for specific tasks without interfering with anyones existing sh!t It looks neat too as you can right click any apk and just choose from a dropdown list what particular app you want at the time. If one has the need to use more apps then they need only put those apps in a list. There is nothing worse than double clicking an apk to find that Bluestacks or some other rubbish Windoze crApp has taken offf with your apk.
Click to expand...
Click to collapse
The application is NOT taking over anything, Unless you've clicked the asterisk ("*") button on the System Tab...
Was it registered for you without clicking this button?
If so, I'll recheck the code (may be it's some residue from the original code).
BTW
As the previous part of the answer I've wrote -- this one was left in as of respect to @ido's work...
2nd BTW
I'd like to see that explorer extension (and [preferable] the code of it - if you are willing to share it) you ware writing about...
Jarmezrocks said:
Lastly I thought I'd ask, Why no config file? Why store everything in memory? I know it's only small....but seeking for things everytime it is executed is a pain in the arse and not good practice. At the very least if you have no idea how to make an exe totally portable then you could reference a config file in the same directory....Or do as most do and write entries to the registry all neat and tucked away. If we get paranoid about "portable-ness" then we write to temporary space in the registry and make sure we clean up upon closing and/or inspect at runtime. simple!
Click to expand...
Click to collapse
Yep, I've thought of it... But... I was thinking, that (at least) everyone is as geeky as me dauuh , and the most are setting the path correctly...
It'll be added in next version (I hope... TIME, TIME!!!! :cyclops...
Jarmezrocks said:
I have plenty of AutoIT scripts that do exactly that too, so if you are stuck for ideas let me know. Anyway I have rambled enough, good luck and I will keep reporting bugs haha
Click to expand...
Click to collapse
I prefer writing my own code (sorry, I'm a developer in heart and soul...) then using automation like Auto-IT...
Jarmezrocks said:
Edit: That's waaaay too many emoticons. Oooops someone is a little high aren't they?
Click to expand...
Click to collapse
Jarmezrocks said:
PS: I have attached my PNG of the icon I used for this bugger waaaaaay back....it's less generic and feel free to take it and abuse it and do as you please.
Click to expand...
Click to collapse
(@Jarmezrocks please see my PM to you.)
PHEW...
Long Answer, BUT HEY, I'm not the only one writing longies... :angel: (and i like referencing each and every part separately)...
dmagician said:
PHEW...
Long Answer, BUT HEY, I'm not the only one writing longies... :angel: (and i like referencing each and every part separately)...
Click to expand...
Click to collapse
Ahh yes. I write long messages sometimes when my medication has kicked in and I am high....not my fault I kinda need to get all the info out of my head in one go while I am awake.....or else there would just be zeds on the response zzzzzzzzzzzzzzzzzzzzzz lol :laugh: (ref narcolepsy).
I commend you on your efforts at responding to such gibberish and making good sense of it! :highfive:
I have responded to your PM accordingly, and hopefully covered all you need? I have attached all info and sources etc.....well most of it...actually a fair bit of it you will have to workout your self but that is part the fun. Shoot me any questions if you need to...although I have a feeling that you will have mostly all of it covered as you are streets ahead of my knowledge already. I may have misjudged a little in my previous post (although hopefully not to make you feel any less than you actually are? please excuse me if I had said anything that may offended - being naive or what ever....you ARE definitely on the right track). As for the middle menu....I think you could easily remove it and not offend the original dev. It wasn't being used as you mention...and I think it could make way for more/better functionality don't you think? (discuss). However I would ensure all the things I mentioned in my PM first before going too deep and releasing on here.
Good move on bringing the buttons back. They were functional. But I DO like the single button close GUI myself on just about everything else....It looks clean. We have similar taste in that regard. It just isn't functional for me to pressing the task notification desktop link everytime I want to minimise the app LOL.
The rest I we can discuss via PM, this is pretty much only posted here as an open area for other forum members to provide input and opinion (or complaint....like how often it usually is, eh?).
CyberianIce said:
I got this errors:
1:
2:
Error in property: [email protected]@usrdata
Click to expand...
Click to collapse
I'd got the same error!
For me it helped to copy two files to the install dir
"adb.exe" and "AdbWinApi.dll"
Both are installed with the well known MyPhoneExplorer into "Program Files\MyPhoneExplorer\DLL"
Hope it helps!
Feature Request
I use this tool for testing new APK builds on a project I am working on it. It allows me to quickly verify the version number and push to the device. However, since I am usually installing another version of an existing installed APK, I must manually uninstall before using APKSPY. Would it be possible to add a check box that would uninstall any previous versions? It would be really helpful.
Nevermind - I didn't fully read the message presented when it fail. It say uninstall/update and it allows the installation. HOWEVER, that brings up a question... Does it uninstall or does it update? There is a difference as you know.
Thanks,
Jonathan
Hi, I try to run this on Mac via Wineskin Winery, but no luck. Do I need something like .Net, or something else to run ApkSpy?
Thank you.
Ja_som said:
Hi, I try to run this on Mac via Wineskin Winery, but no luck. Do I need something like .Net, or something else to run ApkSpy?
Thank you.
Click to expand...
Click to collapse
The only requirement is the Microsoft .Net 4.
(I'll add this to OP)
jmo said:
I use this tool for testing new APK builds on a project I am working on it. It allows me to quickly verify the version number and push to the device. However, since I am usually installing another version of an existing installed APK, I must manually uninstall before using APKSPY. Would it be possible to add a check box that would uninstall any previous versions? It would be really helpful.
Nevermind - I didn't fully read the message presented when it fail. It say uninstall/update and it allows the installation. HOWEVER, that brings up a question... Does it uninstall or does it update? There is a difference as you know.
Thanks,
Jonathan
Click to expand...
Click to collapse
Yes I know there is difference between the two (update vs uninstall and install again).
It is updating the application (like using "adb install -r apk_file_name.apk"), not doing remove and install
Removed unneeded tabs (System, Batch Rename, Log)
Click to expand...
Click to collapse
The unneeded Batch Rename tab was the only tab I needed really. :laugh: Luckily I found Ido's original version. It's ideal for renaming all those apk's I downloaded and still have the package name when I back them up to my PC.
I have an Asus Memo Pad 10 and an Asus Memo Pad 7 and neither are recognised by APKSpy. Not that it's a problem as I have no problem copying to and from them with Windows Exploder or Total Commander.
Other than that, it's been a handy little app for this tablet/smartphone virgin newbie.
Martin.
wolrik said:
The unneeded Batch Rename tab was the only tab I needed really. :laugh: Luckily I found Ido's original version. It's ideal for renaming all those apk's I downloaded and still have the package name when I back them up to my PC.
I have an Asus Memo Pad 10 and an Asus Memo Pad 7 and neither are recognised by APKSpy. Not that it's a problem as I have no problem copying to and from them with Windows Exploder or Total Commander.
Other than that, it's been a handy little app for this tablet/smartphone virgin newbie.
Martin.
Click to expand...
Click to collapse
Hello.
1st:
I can -- if requested - re-add the Batch rename.
2nd:
I don't know why these two devices are not being recognized -- unless not being recognized by ADB itself -- since I'm spawning devices by parsing the resulting text of "ADB devices" command, So unless being unrecognized by ADB, there should be NO PROBLEM detecting ANY android device with ADB on...
if you have any exception messages thrown by the application, please post them here.
dmagician said:
Hello.
1st:
I can -- if requested - re-add the Batch rename.
2nd:
I don't know why these two devices are not being recognized -- unless not being recognized by ADB itself -- since I'm spawning devices by parsing the resulting text of "ADB devices" command, So unless being unrecognized by ADB, there should be NO PROBLEM detecting ANY android device with ADB on...
if you have any exception messages thrown by the application, please post them here.
Click to expand...
Click to collapse
No need to re-add the tab just for me, but thanks for the offer. As I get to know my way around Android I'll probably need such things less and less.
Sorry, but I know nothing about ADB other than APKSpy needing it. As you can see from the attached pic, the Asus is recognised by Total Commander
Martin.
Hi dmagician,
Nice work, and a shout-out to Ido who originally created it.
I have a feature request:
Could you add the option to remove certain permission(s) and save the modified APK file?
There are many apps which I feel allow themselves way too much permissions, and this option could be very useful to tame them apps.
One more thing:
I noticed that APKSpy v1.8.2 doesn't work with the latest version of AAPT.exe (1432KB), from the Android SDK r24.
So I had to use a previous version of AAPT.exe (833KB), which worked.
Thanks,
Eric
Hey does anybody know where the name of the apk is in the XML files inside the apk?