[Q] Any help understanding the language inside .smali files? - EVO 4G Q&A, Help & Troubleshooting

I'm getting deeper into some of the modding that I want to do, and I've opened up StatusBarIcon.smali inside services.jar, along with StatusBarIcon.xml inside the framework-res.apk
The XML is FAIRLY understandable for me, but the stuff inside the .smali file is REALLY hard to make sense of.
Is there any such thing as a tutorial on the programing language used within, an online help or somesuch for it?
I have done programming before, but it's been a long time (read: BASIC and then the programing language for the Ti-85). Still, I'm a fairly quick learner if I can get a hand up.
Thanks.
MDM

no one reply?
i have same question like you

http://s.android.com/tech/dalvik/dalvik-bytecode.html
Enjoy

Found this in a google group. This maybe useful
" All opcodes (commands) are here: http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html , here is some info about registers: http://code.google.com/p/smali/wiki/Registers , and types: http://code.google.com/p/smali/wiki/TypesMethodsAndFields "

Related

TO:Schaps , ALL ROM COOKERS (you have more than 200 unneeded files in Windows Folder)

Dear Schaps,vp3g,Bepe,its right,Sleuth and all of You Good People
the rom kitchen packs all the DSM and RGU files that we need to build the OS only in the rom when you creat it, i am talking about more than 175 DSM files and 25 RGU files (with size of500byte-2KB) in the Windows folder wich makes the rom and the windows folder slower a little bit , you can delete all these unneeded files after you build the OS then search all the DSM,RGU files in the rom folder before you create the rom because they are not more in use and then create the rom .
1.make your rom as usual
2.Start BuildOS.exe
3.Delete all the dsm and rgu/Boot.rgu files and then start the CreatROM.bat
NOTE:
*****
I am Speaking about the Rom Preformence without this files included in it, and to help each other you can share this files ithout including them in every Rom , Give it a try and you will notice the Defernce in windows folder opening speed
****************************************************************************************
Ahmedkom
Interesting! For those of us who are just learning the cooking process, say, using Pandora, how would we go about doing this ... or is it not really possible with the automated kitchens?
Does removal of these files have any other implications? For instance, would their removal make it impossible to dissect the ROM and rebuild it using one of the kitchens? Any other ramifications?
Regards,
-pvs
I intended it to be like that. It's not as slow as to many cooked apps inside windows folder. We're a community of learners here. It's better for everybody to catch everything up and learn how we do it. I know some cooks like to delete every RGUs so it will be a little harder to be hacked.
go get a black rom then. those do not have the unneeded rgu files. those come in handy bc if they are not there u cannot package the rom once its dumped. that doesnt mean u still cant recook it but schap lets the rgus stay so u can recook based on his rom. the dsms i believ u cannot remove even after u cooked ur rom.
I don't delete mine because it makes it easier for people to make their own ROM derivatives by using package tools developed here.
Aye, the rgu files in DIY kitchens are very useful for tailoring to your own requirements. Dunno about other pre-cooked ROMs by the XDA-Dev chefs but I wouldn't want to not have them in the kitchens.
So, I hope it's clear now why we did not delete ours, ok. We are helping each others in this field. If everybody keep it secret then there will be no Helmi's, Schap's, Ollipro's, Sleuth's, JJ, VP3G's, mine etc.
"WE ARE A COMMUNITY"
I was talking to a hermes chef about this issue not to long ago, and he said he'd happliy donate all the missing rgu's to anyone who asked. So I guess it depends on the sort of character that your dealing with as to whether rgu's were removed for speed benefits or as an anti-tampering measure.
The reason a speed difference exists is because your device constanty scans the WINDOWS folder for files. The less files it has to scan the less time that is devoted to this process.
Some chefs do employ this tactic as an anti-tampering measure. Some even go so far as to put all of your files on one dsm file. Claims of evolution past the use of dsm files surrounded this release, draw your own conclusions about that one. Chef's who employ this anti-tampering measure are in essence altering someone else's intellectual property (IP). Anybody who has had anything to do with the legal side of IP will know that it is a grey area at the best of times. So the scenario of adding your IP to someone else's IP raises many ethical and legal issues.
So just to summarise, if you do remove those files for speed purposes then thats acceptable, to do so as an anti-tampering measure is not acceptable. Sorry I took so long to explain my point.
Sounds like a good idea. Delete all the DSM and RGU files to increase performance, then post them in a zip when you release the ROM. That way, those who want to learn/modify it can, and those who don't want their device cluttered with crap they don't need don't have it.
We have to look at how developers do it. They also did not delete the RGUs. Why?
list of this rgu's?
Could anyone then give a list of these rgu's that we can remove and how are we to remove them... for speed purposes...
thanks!
peter petrelli said:
I was talking to a hermes chef about this issue not to long ago, and he said he'd happliy donate all the missing rgu's to anyone who asked. So I guess it depends on the sort of character that your dealing with as to whether rgu's were removed for speed benefits or as an anti-tampering measure.
The reason a speed difference exists is because your device constanty scans the WINDOWS folder for files. The less files it has to scan the less time that is devoted to this process.
Some chefs do employ this tactic as an anti-tampering measure. Some even go so far as to put all of your files on one dsm file. Claims of evolution past the use of dsm files surrounded this release, draw your own conclusions about that one. Chef's who employ this anti-tampering measure are in essence altering someone else's intellectual property (IP). Anybody who has had anything to do with the legal side of IP will know that it is a grey area at the best of times. So the scenario of adding your IP to someone else's IP raises many ethical and legal issues.
So just to summarise, if you do remove those files for speed purposes then thats acceptable, to do so as an anti-tampering measure is not acceptable. Sorry I took so long to explain my point.
Click to expand...
Click to collapse
Hum... You're quite funny talking here about intellectual property. Though we all appreciate the Chef's great job (and can donate to show our appreciation), let's have a bit of honesty: the IP here is Microsoft's.
Alcibiade said:
Hum... You're quite funny talking here about intellectual property. Though we all appreciate the Chef's great job (and can donate to show our appreciation), let's have a bit of honesty: the IP here is Microsoft's.
Click to expand...
Click to collapse
LOL! Amen!
Alcibiade said:
Hum... You're quite funny talking here about intellectual property. Though we all appreciate the Chef's great job (and can donate to show our appreciation), let's have a bit of honesty: the IP here is Microsoft's.
Click to expand...
Click to collapse
I never said that the IP didnt belong to Microsoft. That was my point exactly.
ahmedkom said:
Dear Schaps,vp3g,Bepe,its right,Sleuth and all of You Good People
the rom kitchen packs all the DSM and RGU files that we need to build the OS only in the rom when you creat it, i am talking about more than 175 DSM files and 25 RGU files (with size of500byte-2KB) in the Windows folder wich makes the rom and the windows folder slower a little bit , you can delete all these unneeded files after you build the OS then search all the DSM,RGU files in the rom folder before you create the rom because they are not more in use and then create the rom .
NOTE:
*****
I am Speaking about the Rom Preformence without this files included in it, and to help each other you can share this files ithout including them in every Rom , Give it a try and you will notice the Defernce in windows folder opening speed
****************************************************************************************
Ahmedkom
Click to expand...
Click to collapse
I can't remember where to read that but surely in this forum, you can savely delete all the .rgu files after rom dump creation (i mean delete those .rgu in the temp folder after running buildos tool) as all required registry for each package have been merged to default.hv and user.hv. Just simply go to the temp folder and make a quick search on *.rgu and delete all.
For .dsm, it will be best to kept all the .dsm files in the ROM for the device to run properly.
For instance, I have tried to delete all .dsm file when modifing a ROM to suit my own use, after deleting all .dsm, the activesync stop working (keep say connecting when plug to PC with USB cable). when put back all .dsm, it works perfectly.
This is just my personal experience on .dsm deletion, if anything i am wrong, please correct me. Also please share your view in .dsm files, i have googled it for long but still cannot get an idea of what it exactly done.
hope this help, cheers.
AFAIK
You can delete all rgu files, no difference
but try to do the same with ALL DSMs and you'll see the difference
you have to leave DSMs for at least SYS packages, but maybe not all of them. Or make just one DSM for all, not sure if it will work
EDIT: sorry, ctrlaltdel already answered above
How do you delete files that are flagged as being in the ROM once it is already installed on the phone?
i tried to delete the DSM's out of my own dumb curiosity... and... it broke.... so, dont delete these.
Sleuth255 said:
I don't delete mine because it makes it easier for people to make their own ROM derivatives by using package tools developed here.
Click to expand...
Click to collapse
I do it for the same reasons, I try to split every component of my ROM into packages with all details in RGU files, to make the kitchen as easy as possible.
I don't know about the improvement after deleting those files, but for sure you mustn't delete DSM files, and concerning storage space I don't think you will save a lot by deleting RGU files.
if you're hard up for storage, I've found that you can delete quite a few files from the phone. I usually get rid of all the help files (they are listed at htm files). open each one to make sure you dont need it. I then delete all of the wav's, wma's, amr's, and mid's that I KNOW i dont want or need. Then I delete the one movie that's in the ROM. Then, i go through EVERY png, jpg, and gif file and remove the ones that I know I dont need. I use an aftermarket dialer and an aftermarket comm manager so that pretty much allows you to dump ALL of the dialer/comm manager pictures as well as the indialer ones. I get rid of all of the files listed with "I-8" at the beginning of their name, but, I dont have a camera so you have to be careful with these. I dump all of the EVdo Files (as the phone doesnt' do EVDO) as well as the 1xrtt ones. I have broken my phone (not bricked, just HORRIBLY slow) once so I'm pretty much not affraid to test to see what can go (as evidenced by my post just prior to Schaps).
bottom line: if you want to save space, you can. You just have to go through the rom file by file and delete what you KNOW you dont need. Keep a backup of the ROM and, if it doesnt work, reinstall and try again!

Ubuntu / Linux auto sign tool?

I have been toying with the idea of making a theme. Sounds like fun and the How To's here are really thorough (by the way, I appreciate that, those things must have been quite the labors of love).
As you can tell from the thread title, my OS of choice is obviously Ubuntu. The autosign tool sounds pretty convenient, but I notice it is for Windows. I've searched a bit, but honestly I am getting tired of thumbing through thread after thread looking for the answer and was hoping for a friendly nudge in the right direction.
Anyway, long way around to these questions:
1, when I re-sign an apk, do I use test-keys, do I create my own key, or do is that something JDK will create for me to use?
2, I don't want to create a theme that makes people need to wipe before switching, the template is up to date on the How To thread? Are there templates for JF ADP1.1, and maybe even RC8 as well? Or was there a thread I could read about taking the necessary parts of JF's update and building a template of mine own from that?
3, To actually resign an apk, you have to edit some hex code right? If there truly is NO tool for Linux, I could use some directions on where to find how to manually sign a file. Then hopefully I can find / convert / create a tool in Linux to handle the dirty work for me.
I guess this is what I get for coming in so late into the game.
Also, I am curious if anyone else creates themes in anything other than Windows... any *nix creators out there?
ok, first off to resign an apk or a zip you dont have to do any hex editing at all, in fact, to make a theme you dont have to do any hex editng.
2nd, use my default themes as in the stickies as a template to build your theme, it will not wipe.
3rd to resign in linux, which I haven't done, you will probably need the original signing tool which can be found in jf's recovery.img .zip[ he provided a while ago. I believe it is stickied on android development.
This is the command to resign them
java -jar testsign.jar >inputfile> <outputfile>
Hope this helps
Stericson
Thanks for the super quick reply
Ok, I'll give a search for "testsign.jar", that should get me in the right direction. Once I have that I guess it is time for some experimenting. It shouldn't be hard to develop a shell script that takes every file of xxx type, from a directory and then pass them as values to the testsign.jar app one by one. I had a shell script do something like this to rename all of my photos.
I resign the apk and zip files then.
Thanks Stericson, now I am off to find that testsign.jar, make sure I have the up-to-date default themes, and play around a bit.
EDIT:
SignApk.jar is a tool included with the Android platform source bundle.
testkey.pk8 is the private key that is compatible with the recovery image included in this zip file
testkey.x509.pem is the corresponding certificate/public key
Usage:
java -jar signapk.jar testkey.x509.pem testkey.pk8 <update.zip> <update_signed.zip>
Click to expand...
Click to collapse
This is what I need isn't it? I thought that sounded familiar, I had this downloaded from the whole "let's explore how to root my phone" process.
oh yea, ooops, that is right...sorry I have a custom version of the tool I use. Sowwy.
But that is right.
that cmd line will sign both apks and zips
Stericson

Making a theme?

I was wondering what it would take for me to start to make a theme, i have some basic understand of javascript visual basic, c++ and html//xml, or is there some sort of a program that i would use for it? if not is there some sort of a base example guide that i could use? Preferabbly dealing with cyanogen if its possible? Thanks.
Its as simple as downloading an existing theme, or even the stock one, and changing/overwriting the files in the System/App/Launcher, and Framework.apks and any other apps .apks you want to change. Only change the image files (jpg or png) in each "Drawable folder." .9.png files are different, look for the thread on those. I use Photoshop but any image editing program should work, whatever u use, then drag the modified files back into the theme.zip and resign and flash.
Some things you can find in here http://forum.xda-developers.com/showthread.php?t=468254
There used to be a guide for things but I can't find it. Brandenk originally had his guide in there which I think is the easiest to follow. He still does have it here http://alldroid.org/viewtopic.php?f=96&t=186

Trying to Decompile, not working... please help

Hello,
Im kind of new to developing for android....
But I did a bit of developing on blackberry in the previous years...
Ive been working on some soft buttons. I designed some buttons in a different thread that work great. But I wanted to edit my SystemUI.apk myself (navagation_bar.xml) so that I could edit a search soft key and the order of the soft key buttons myself....
I can't for the life of me, get this thing to decompile. If you open the navagation_bar.xml from within the SystemUI.apk (even in notepad ++), you get a bunch of random characters. I am assuming this is because I have to actually decompile the SystemUI.apk first.
- so I have downloaded apktools,
- I have it all setup correctly following the instructions for decompiling posted here: http://rootzwiki.com/topic/1836-guide-how-to-decompile-an-apk-updated-w-guide/
I used the framework-res.apk of the rom that I am currently using (Android Rev 2.1.2)
And then I place the SystemUI.apk in the folder to be modded, and go ahead and run the script, try an decompile it. And every single time I try it says "an error occurred, please check the log"
I check the log and nothing there makes any sense to me....
It just says an error occurred in "main" multiple resources....
and then it lists a whole bunch of (unkown source)
Super frustrated here, because I have found some coding and studied some coding and I know how to edit the navigation_bar.xml to my likings.... but I cant get the damn SystemUI.apk to decompile....
Can someone please help me here?
and ideas on what might be going wrong?
Thanks a lot
Replace the files in the "other" folder with these.
http://db.tt/1Cii8tGa
The guide you are using will only work for samsung phones running touchwhiz. You'll need to use the framework specific to the ROM you are working on.
You should be able to find all the necessary info in Brut.all's thread, although Ill admit it did take me a little while to get it all figured out myself.
[UTIL][08.12.11] Apktool v1.4.3 - a tool for reengineering apk files

Need help modifying some system files

While trying to learn most of my tablet...especially when it comes to performance (i am a "power" user) i stumbled upon a few things i am curious about...
I will ask a few questions...hopefully someone will answer
1. What is framework.jar?? If i modify something in it...do i have to modify some other files too...to make sure its applied?
2. Where can i find this "ActivityManager" something? (On my opinion its like a API code)? I wanna modify something in it...hopefully to get some speed
3. About this code "ro.config=low_ram" on some devices thats how the code looks like...but in some cases...especially when about to be forcibly enabled they put "ro.config=low_ram.mod" instead...why so? And what is .mod? Will the code still have effects if it has this ".mod"?
4. Does a command in build.prop really need that "# blablabla" something? For what purposes?
For example:
#NFC
debug.nfc.fw_download=false
debug.nfc.se=false
That "#NFC" is it needed?
5. What is local.prop? Does it have any relation with build.prop?
Thanks for reading...hope someone will be able to answer this questions...thanks in advance

Categories

Resources