I will make this as easy as possible. This is for windows. The only tools you should need is 7zip and a good image editor, like Photoshop, Paint.net or GIMP.
I will attach an DialerTheme.zip with custom Contacts.apk and a stock Phone.apk to use.
Theming Contacts.apk, will customize the things you see before placing a call.
Theming Phone.apk, will customize images during or in-call.
For Dialer background in Contacts before calling, I recommend using an 800x800 .png, make sure its not just renamed .png but actually saved as a .png
This can be a photo, picture or solid color, whatever you desire. Name this "custom_dialer_background.png" without quotes and with the underscores.
I will explain how to copy this to the .apk, most will know how to do this, but I will explain. With 7zip installed, right click on my DialerTheme.zip, choose 7zip, then mouseover to ..open archive. then double click on \system folder, then double click \app folder, then double click contacts.apk, double click \res folder, then double click \drawable-long-finger folder. Now simply drag and drop your custom_dialer_background.png into this folder. It will ask you if you want to replace. Say Ok or yes. Don't worry it doesn't move, just copies and keeps your original. Next do the same and copy to \drawable-long-land-finger and also \drawable-mdpi-finger. Now close the window and it should ask yo to update the archive, say Ok or yes. Done. That's it for contacts and the 1st dialer.
The next one is a bit trickier and may take a bit more time. It involves .9.pngs, which are stretchable images and can be difficult to work with. Lets make it easy for our selves. Again open DialerTheme.zip as an archive with 7zip and navigate to Phone.apk\res\drawable-hdpi. we need to copy the first 5 files from here to your desktop, or a folder to make things neater.
A quick way to do this is to open any one with your photo editor and make your changes, (eg.paste your picture or image). The ones I am using are 480x754, but I think it should be fine using the same 800x800 from before. If you start adding layers to it though it may not save correctly, I find copy/paste works just fine. Now save and it should retain the .9.png extension. You can either do the remaining 4 or just open the 1st one and choose save as: bg_in_call_gradient_connected.9.png,(or even a copy and rename should work) just make sure it naturally retains the .9.png extension which already contains the boundaries and data we need. When you have all 5 looking as you wish with .9.png extension still intact, we can then move these to our zip in the same location( mulit-move by holding CTRL while selecting all 5). It will ask if you want to overwrite say yes. Also copy these 5 files to phone\res\drawable-long-finger, and say ok to overwrite.
Now we need these same 5 for a landscape view in-call. So you either rotate them, if it doesn't compromise your image. These images are also normal .png's, so they will not stretch. You may need to crop them, or expand your canvas. The ones I am using are 802x477 and look just fine. When you have all 5 name them as before except without .9. (I wouldnt recommend just renaming a .9.png to .png, although it would probably work, I suggest opening a.9 and saving it as .png first then copying and renaming should be fine. Same 5 filenames as before without .9
copy these like we did before to phone\res\drawable-long-land-finger.
Close the archive when finished and it should ask you to update, say OK. Thats it. Now place on SD Card and flash in recovery.
This doesn't theme anything else, but you can change all the other images yourself in the same manner. Try making the buttons transparent,etc! Just remember to retain the .9.png or it will not display correctly.
Because we have done it this way, if you try to decompile and rebuild it is likely you will get "missing .9.chunk data, etc." But we shouldnt need to decompile again, all images can be drag and dropped.
This method should not have any problems, bootloops, stuck at logos, because were only swapping out .png's, If anything you may get an immediate force close when trying to open phone or contacts, likely becuase an image is missing/named incorrectly or the size is too far from the original.(which I think android will still try to display...up to a point)
There is also a .zip in next post to return to stock phone and contacts.apk
If you need further assistance, search, then post here and we will try to help.