Related
my question is this, say for example I have my phone setup just as I like with the theme of my choosing, htc music app instead of the stock android app in the cyanogen mod. i would like to be able to create a rom from this setup that I could then just load on my phone as oppsed to loading a cm mod, then installing music player, then installing the theme. before the flaming begins, i tried the search to no avail. i am aware of how to sign the zip and all of that. just a point in the right direction would be MUCH appreciated.
Its something I would like to be able to do as well. According to Haykuros twitter hes going to be making a video about android rom cooking soon so that should help
jholt0130 said:
my question is this, say for example I have my phone setup just as I like with the theme of my choosing, htc music app instead of the stock android app in the cyanogen mod. i would like to be able to create a rom from this setup that I could then just load on my phone as oppsed to loading a cm mod, then installing music player, then installing the theme. before the flaming begins, i tried the search to no avail. i am aware of how to sign the zip and all of that. just a point in the right direction would be MUCH appreciated.
Click to expand...
Click to collapse
This should've gone in the Q&A section. Will probably get locked soon.
But in response to your question, I guess you could grab the CM rom, then grab the theme you use and overwrite the files in the rom, and then overwrite the music app with the HTC music. Resign and you got your update.zip customized how you want it.
xidominicanoix said:
This should've gone in the Q&A section. Will probably get locked soon.
But in response to your question, I guess you could grab the CM rom, then grab the theme you use and overwrite the files in the rom, and then overwrite the music app with the HTC music. Resign and you got your update.zip customized how you want it.
Click to expand...
Click to collapse
Thanks for the help and my apologies for the wrong section
how do you resign it?
joey3002 said:
how do you resign it?
Click to expand...
Click to collapse
by searching.
Stericson said:
Automatic version!
Do not use this to sign APK files in Vista or windows 7! It will cause your theme to loop phones when placed on a device. Only use this to sign update files if your using those O/S's
Note, this will not work if your SDK or the path that you place this in has any spaces in the dir name!
An Example of this is c:\users\Nikki and Stephen\sdk\tools
Try to put the SDK and the contents of the zip in a dir where the names are all together and not like the one above.
I have made a batch file that will automate the entire process of setting up to use the signing tool made by JF. This batch file will set the CLASSPATH, set the PATH, install the registries, and will even allow you to sign files manually if you wish. I plan on building onto this batch file to include other things. However, for the moment, it will only include what you see here.
In order to use this you should have downloaded the sdk already. Simply extract all of the files into the tools dir of your sdk, and run autosign.bat follow the instructions and go through the options one by one, starting with 1 working through 4. You can however, put the contents of this zip anywhere on your computer and it will work. It is just better to put them into the tools dir of your SDK. Especially for the consideration of future versions.
Autosign .zip: http://www.fightforthepits.com/Androidstuff/signing.zip
Want to set up the signing tool manually?
Here is the link for the signing tool: Http://www.FightForthePits.com/testsign(2).zip
Before using this you need to know how to set this up:
Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.
FOR XP:
Right click on My Computer click properties, then choose the tab that says advanced.
Click the button that says environmental variables.
Go to system variables find the one that says CLASSPATH
double click it
go to the end of variable value.
There should be a semicolon ; at the end, type in the path to the testsign.jar located in the tools directory of your SDK
for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar
If CLASSPATH is not in your system variables then create it.
Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory.
For example, mine was c:\sdk\android-sdk-windows-1.0_r2\tools
FOR VISTA:
Open a cmd prompt.
Replace THEEXACTPATHTO-TESTSIGN with the path to the dir that holds the file testsign.jar.
Type:
echo %CLASSPATH%
If it is returns %CLASSPATH%
Type the following:
set CLASSPATH=THEXACTPATHTO-TESTSIGN\testsign.jar
If it comes back with something else then
Type the following:
set CLASSPATH=%CLASSPATH%;.;THEXACTPATHTO-TESTSIGN\testsign.jar
For Example, when I type this it looks like:
set CLASSPATH=%CLASSPATH%;.;c:\Android\SDK\tools\tests ign.jar
To set the PATH
Replace THEEXACTPATHTO-SDK with the path to the tools dir of your SDK.
Now type:
set PATH=%PATH%;.;THEXACTPATHTO-SDK\tools
For example, when I type this out it looks like this:
path-%PATH%;.;c:\Android\SDK\tools
Now through doing this you have done two things, first off you have made the resigning process extremely easy, secondly you will not have to cd to the tools dir of the sdk to use adb or any other tool in the sdk.
Signing the Files:
Now right click the reg file that you extracted and choose to install it, or merge.
Now, right click an apk, do you see an option that says ResignApk? That's how you will resign your .apks and .zips.
When you choose it a cmd window should open for a few seconds and then close. the file you signed will be overwritten with the new resigned file.
If you find the right click menu not working for some reason you can type the following in cmd to sign your files: java testsign whateverfiletosign
Click to expand...
Click to collapse
.apk's not showing up after flash in resigned .zip
Ok, so I've created a ROM to my liking. All the .apk's I normally use and got rid of the ones I don't. My problem is after I customized the ROM and flashed it none of the .apk's I added showed up. The only ones that showed up were the paid apps. I never opened the .apk's and made changes. I assume I don't need to change them to .zip resign and back to apk. Do I? I am using Windows 7 though and am able to resign no problem. Thanks to anyone who replies.
[Advice/Reference/Guide] The Definitive APK Modding & Theming Thread... {06/07/13}
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XperienceD said:
This is why I love Virtuous Ten, as you can install multiple resources.
Click to expand...
Click to collapse
jacknb1ack said:
wow, i didnt know there is tools like that
Click to expand...
Click to collapse
After reading jacknb1ack's comment I felt compelled to re-write this whole thread to accommodate for the various PC Programs that you use to do all of your apk modding which can and do make things a hell of a lot quicker. I've wrote this as something I would have liked to have come across when I first joined because I know there is a lot to take in, and hearing you need to decompile, edit this or that xml, recompile, sign etc etc etc can be off putting for some especially if you struggle to get a program or apktool setup to begin with.
Knowing how to use command prompts will be beneficial in the long run so I've wrote a detailed guide below which covers it from start to finish along with how to Sign and Zipalign your apks, pulling them from the computer and so on. I've also covered some Theming basics with links to everything you're ever going to need, which will be extra handy if you're just getting started.
Minimum Requirements:
A Rooted Phone.
Java SE Runtime Environment
Java SE Development Kit
Any of the apk modifying methods below.
7-Zip or WinRar
Theming Requirements:
Notepad++
Photoshop, GIMP or any other image editing software.
Patience. :silly:
To avoid any java not found issues you need to set up the PATH for it in Environment Variables, you can find a short Guide on how to HERE. This is how mine looks...
Code:
[B]C:\Program Files (x86)\Java\jre6\bin;[/B]
I would advise that you also install the Android SDK but if you don't want to you can download this APK_Mod.zip that you can extract to a folder and place it anywhere you want on your Computer (I recommend C:\APK_Mod) and run any adb, apktool, zipalign or signing command prompts from it. You can find a more detailed guide for this method below.
But first off all here are some of the most common Programs that you can use to modify and theme your apks, and I'll start with one of the best...
Virtuous Ten Studio (VTS)
Virtuous Ten Studio (VTS) is the ultimate solution for the modification of android applications.
This program allows you to manage entire Android projects within an easy to use and familiar environment.
The intended group of users covers anyone from a themer over ROM devs up to the smali gods known for their awesome mods of existing apks.
The modifcation of smali code is one of the biggest features in VTS. You can easily decompile, edit and recompile any apk or jar file.
However, the application is not limited to smali files. You can edit almost any file found inside an apk or jar.
Virtuous Ten Studio is also the official successor to the highly important M10Tools released last year by the Virtuous Team.
You can easily edit any m10 file from Sense apps in order to resize or change them.
Additionally VTS brings support for un- and repacking of boot images (boot.img), a job that previously required a cygwin installation with the dsixda kitchen.
Since VTS' own implementation is a native windows solution, which means you don't need dsixda or cygwin anymore.
VTS has been designed to run on Windows, has been in development for nearly two years and has gone through many stages of testing.
Today VTS is a highly respected full blown Android IDE (Integrated Develoment Environment) suited for all your reverse engineering tasks.
Click to expand...
Click to collapse
- www.virtuous-ten-studio.com
AndroidSuite 2013
AndroidSuite 2013 what it does
Decodes and encodes Dex files
Decodes and encodes APK files (Previously bugged in APKManager)
Gives a console output
Flash boot.img (fastboot)
Flash update.zip (fastboot)
reboot/reboot fastboot mode
Sign unsigned apks
Click to expand...
Click to collapse
- (App) Androidsuite 2013 v117 (01/04/2013) Jelly Bean Support!
Tickle My Android 5.4
Tickle My Android, or TMA for short, is a command line tool for Windows that uses apktool to help you pull and decompile files from your Android phone or tablet.
But it can also:
change the battery icon,
change the WiFi icon,
change the signal icon,
change the emoticons,
change the notification toggles,
change the transparency of the statusbar (if the rom allows it),
add Ice-Cream Sandwich-style transitions
zipalign apk files,
sign new apk files,
sign recompiled apk files in the same way as the original,
deodex apk and jar files,
backup personal data and transfer to a brand new device,
resize and change boot animations,
change fonts,
add sounds from other devices,
create backup-generating flashable zip files
..and now comes in Portuguese and French!!
Click to expand...
Click to collapse
- [TOOL]Tickle My Android 5.4 - DE/RECOMPILE APPS, CHANGE ICONS...AND MORE!!!!
ApkManager V6.1
1. Based on ApkManager 4.9 by Daneshm90 (Big thanks to him)
2. Updated Apktool V1.5.2 by iBotPeaches & Brut.Alll
3. Updated Aapt v0.2
4. Default compression level set to “0?
5. 512Mo as default allowed heap size
6. 3 ready for use fake frameworks : “other\wanam1.apk”… (for Lidroid framework editing)
7. Add a “Decompile all files” feature (option 25)
Click to expand...
Click to collapse
- wanamlite.com
Command Prompt Editing
Basically this is just manually doing what all of the programs above need to do in order to decompile, recompile, sign and zipalign apks so it's worth knowing how to modify apks this way for occasions when the above programs for whatever reason gives you issues.
Use Linux or a Mac?
See the following threads for more information on using apktool on other Operating Systems...
APK Manager for Mac OS X
[Linux][UTILITY][TOOL] APK Multi-Tool
[tutorial] decompiling,recompiling and signing in linux (27-01-2013)
How to install and use Apktool with Ubuntu
Getting APKs To Your PC
You have two options here...
1. Use a file manager on your Phone to copy and paste files to your SD, then connect to your PC and use Windows Explorer to copy and paste to your desired location.
2. ADB. Open a command prompt window in the ADB folder (see below) and type/copy the following command...
Code:
adb pull /system/app/ Original_apps
...which will pull the whole app folder to your computer and create a new folder called Original_apps, which you can then simply copy apps to the main folder ready to be modified (keep the Original_apps folder as a backup). Then do the same for your framework folder...
Code:
adb pull /system/framework/ Original_framework
...want to pull your Phones whole system...
Code:
adb pull /system/ Xperia_Z_System
...you can rename "Xperia_Z_System" to whatever you want.
Further Information: [WINDOWS][TUT]ADB tutorial, setting up ADB, usefull commands, collecting debug info.
This is a zip of the apktool folder I currently use - APK_Mod.zip - which as said above also contains the ADB files needed to pull and push apps from your Phone, or you can check out the following links...
[Tool] ADB Fileexplorer
[TOOL][WINDOWS] Android Apktool
Installing Resources
For apktool to work you need to install the resources needed by your apks for de and recompiling, and those resources are other apks, the first apk regardless of your Phones manufacturer is going to be your framework-res.apk. The second apk you need is dependent on the manufacturer so you need to check your framework folder for another apk such as twframework.apk or SemcGenericUXpres.apk, in some cases it might even be the SystemUI.apk but you would need to check if you have issues with the other two. Put those two apks in the APK_Mod folder to begin with then open a command prompt window. The easiest way for me is holding the shift key then right clicking the mouse and selecting Open command window here, but if you're not able to do that then click your Start button and search for Command Prompt, then open it. You then need to point it to the relevant folder, so type cd then copy and paste the location of the folder (cd C:\APK_Mod) and hit enter.
The install commands are...
Code:
[B]apktool if[/B] framework-res.apk
...and for the second...
Code:
[B]apktool if[/B] SemcGenericUXpres.apk
Decompiling
The command for decompiling is...
Code:
[B]apktool d[/B] framework-res.apk
...and so on for each individual apk you want to modify. A new folder will be created that is named after the apk you are modding, then you can edit xmls, smali files and .9png images. You'll notice that there are a lot more folders when you decompile an apk, that's normal as those folders are from the resources.arsc and where you'll find the xml files you may need to edit to make the changes you want.
Recompiling
When you've done editing it's time to recompile, using the command...
Code:
[B]apktool b[/B] -insert folder name-
...and if you've edited your files correctly then it should compile with no errors and create a folder named dist in the decompiled folder along with a new apk.
Signing
Before using the new apk you will need to sign it, to do this you need to extract (open the apk and simply drag and drop them to the dist folder) from the original apk the resources.arsc (only if you haven't changed anything in the values folder, the AndroidManifest.xml and META-INF folder (if it exists), then copy them into the new apk. In WinRar it will give you the option to choose the compression method, and it's vital that you choose Store as the compression method because if you don't then you WILL BOOT LOOP after restarting your Phone!
NOTE: If you have edited anything in the values folder then extract the resources.arsc from the new apk and copy (drag and drop) it back in the same manner described above.
Alternatively you can use the following command...
Code:
[B]java -jar signapk.jar testkey.x509.pem testkey.pk8[/B] framework-res.apk.apk framework-resS.apk
...notice the extra "S", the output name has to differ from the input name otherwise it will give an error, if done right it will create a new apk called framework-resS.apk, just remember to rename it back to the original before using it on your Phone.
Zipaligning
DISADVANTAGES OF UNALIGNED APKs
Quite understandably, situation would be reserved for unaligned application packages. Resource reading would be slow and memory usage would be on the higher end of the spectrum. It would also depend on how many unaligned applications are present. For example, if less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
Click to expand...
Click to collapse
- SOURCE
The command for zipaligning is...
Code:
[B]zipalign -v 4[/B] framework-res.apk ZAframework-res.apk
...notice the "ZA", again that can be anything you want so long as it differs from the original name, I use ZA for an obvious reason, and again don't forget to rename it before using on your Phone.
Getting apks back to your Phone
It's just a reversal of how you got them off your Phone to begin with, use a file explorer and put your apk on your SD Card, then move it to the Phones System folder and change it's permissions to rw-rw-r, then move and replace it with the original. Most apps should continue to work but if you change your framework-res or SystemUI you will most likely need to reboot. Or you can use adb to push and install them. Check the previous link for the commands.
If all the above has worked correctly you should now have your modified apk installed with the changes you've made displayed on your Phone.
Theming & Modifying
This is where the fun begins, once you've got setup to decompile your apks then obviously you're going to want to mod them, so here's a few pointers to clear up what seems like a daunting process to new comers...
To start with you'll probably just want to start with replacing images, so if that's all you want to do for now then here's a quick tip, you DON'T need to decompile or sign your apks!, simply edit and rename your replacment images on you computer, preferably using the same or similar dimensions then drag and drop them back into the right folders in the apk, always using Store as the compression method, but PLEASE NOTE; .9 pngs can be replaced in the same way, but if you want to edit them in Photoshop for example then you need DO need to decompile them.
A few things to note...
Smali code is real Developer territory, it's Matrix code to me , thankfully there's usually a guide to follow so you can simply copy and paste code without having to fully understand how it works, so don't fret about this.
.9pngs are simply png images with a 1 pixel border. You can edit anything within that border but anything on or over will give errors when building. Unless you're creating an image from scratch then you can leave the border as it is, it's that simple! Sure there's a bit more to .9png editing but you can find a few links below that go into more detail about .9s and how they work.
xmls are relatively simple and edited with Notepad++, much simpler to understand than smali and again, there's usually a guide to be found for most mods you may want to make yourself, but if you're feeling brave you can experiment with it when you have a basic understanding of how it works.
Restoring modified files if you mess up is easier and quicker with a CWM.zip, especially if you're modifying any framework apks! Just because an apk might build with no errors doesn't mean it won't give you any when installed to the Phone.
.9png Editing
I hope after reading this explanation you're left wondering what all the fuss is about, as it really is quite simple. I'll use the following two images, btn_default_pressed_holo.9 & status_bar_close_off.9 to illustrate the basic point of the borders...
Decompiled .9pngs:
Recompiled .9pngs:
Those borders control which part of the image is stretched, and we'll use Draw 9-patch which is for editing the borders of decompiled .9pngs and lets you see how the image, when stretched, will be displayed on the Phone. Notice that the borders are different sizes, well that's because I only want/need a certain part of the image to stretch to get the desired look on the Phone.
...in the image below the left side shows the stretched image and desired effect should look on the Phone and the right side shows how it would look if I had edited the borders incorrectly or used none at all...
You can get away by not using a border but you would need to edit your image to specific dimensions to accommodate for the stretching, for example it might look fine for a simple OK button but it might not look right if you used the same .9png for a screen press which stretches the whole length of the screen, so you're better off just using them to begin with, plus you'll more than likely get errors down the line while decompiling or recompiling your apk.
The use of the border is made even more clear when you add text to an image. For my status_bar_close_off.9 I've filled all four sides of the image (except for an empty pixel in all four corners as that is the max amount of border you can use) as I need it to stretch the image just how I've edited it...
...but if I used the same sized left side border as the btn_default_pressed_holo.9 then this is how it would look on the Phone...
...which is obviously not the look I'm trying to achieve, as the left side border is causing the image to stretch incorrectly.
So that's basically it, depending on the image you're editing you can usually leave the borders alone but if you create one from scratch then you might need to play about with them if your images doesn't look quite right when used on the Phone. Here's a few links that will assist you further, especially the batch editing...
How to edit .9.pngs
[TUTO] Create your 9.png !
[UTILITY][TOOL] 9patchPngSuite [Windows&Linux]
How to draw NinePatch images with Photoshop - .9.PNG
[TOOL][Multi-Platform][.9.png][ALL DPIs] Android Resizer Tool
[Tutorial][Commentary] How To Batch Edit .9PNG/PNG Images
Xposed Framework
rovo89 said:
In this thread, I'm presenting a framework which gives you the possibility to modify your ROM - without modifying any APK (developers) or flashing (users)!
...
Advantages:
No need to modify any APKs. This means:
No need to decompile, change things in smali, compile, sign, ...
It will work for odexed and deodexed ROMs.
Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Hell, it will probably even work with different ROMs.
Multiple mods can be installed at the same time, even if they change the same package. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.
It does its magic at runtime. That means you can implement options to let the user decide if they prefer the bikeshed to be painted in red or blue. Or you can have some extra logic for certain ROMs without building different mod versions.
It can be disabled easily without having to reflash.
It's open source.
Click to expand...
Click to collapse
- [FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs
[Guide] Porting XTheme themes
[Guide] Xposed Framework/TabletUI (Noob-Friendly)
[INDEX][WiP] List of APPs & MODs that use XPOSED Module
[MOD][XPOSED][4.0+] XThemeEngine beta5 - Theme engine for any rooted phone
And that's pretty much it, the only way you're really going to learn is by reading then putting into practice what you've read and picking stuff up along the way, fortunately this far into the history of Android there are numerous guides for numerous mods and tools to help with a variety of tasks and the following links are going to be a big help...
U.I Modding
Text Color Guide
Tutorial :- Changing App Icons
[TUTORIAL]How to Theme Your MMS
[How-to] Edit the "About Phone" display
[GUIDE][REF]Changing System Text Settings
[TUTORIAL] How to add various framework/Settings mods
[TUTORIAL] Where to find the colors for making a theme
Some Extra Theming and Moving the Power Widget Down
[HOWTO] Integrating/Adding applications to the settings menu
[TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie!
[GUIDE][MOD][SYSTEMUI] How to add 0.0K/s meter on statusbar ICS/JB
[GUIDE] How to get Transparent App Drawer [Launcher2.apk or Trebuchet.apk]
[TUT] How To Center The Clock On The Statusbar..And Move Other Icons As Well!
[How-To]Removing Battery Percentage, Adding Toggles,Battery Circles to Statusbar
[GUIDE][Mods][All Devices]How to add/ Change Clocks to Analog/ Digital with Seconds
Various Tools...
[TOOL][BETA]Miui Theme Converter/Convert apk Themes!!!
[TOOL][JAVA]"The Rom Fumbler" aka "The Battery Icon Creator"[V29.0]
[TOOL]Boot Animation Factory-Create,Preview and Manage Boot Animations
Useful Links
findicons.com
colorschemer.com
[GUIDE] Tips for themers
Ultimate Online Theme Kitchen
[GUIDE] Want to learn how to theme?
General Questions about Themes GO HERE!!!!!
[Guide] How to port themes to T-Mobile Theme Chooser
[Collection] ICON SETS | Over *750* different Icon Packs
[DEV/GUIDE]Creating APKs for use with TMobile Theme engine
[GUIDE] T-mobile theme engine for the faint at heart (non-linux users)
[TEMPLATE] Icon Packs/Themes for Apex, Nova, Holo, ADW, and more!!
[INFO] Custom framework-res.apk resources.arsc using vendor overlays
If you feel something more should be added to this thread please feel free to suggest it.
Credits & Thanks:
@_calum_
@Diamondback
@ebs512
@Rizal Lovins
@Ticklefish
@wanam
@rovo89
And not forgetting @iBotPeaches and @Brut.all for making it possible with - [UTIL][Feb 02 2013] Apktool v1.5.2 - a tool for reverse engineering apk files
ClockworkMod Recovery...
Flashable Clockwork Mod (CWM) zip
ClockworkMod Recovery zips are used for flashing individual files to whole ROMS and can be a life saver if you push a badly edited apk to your Phone that results in a bootloop. There's also a few programs that can assist you with that too, but if all you're doing is replacing a few files all you really need is a template, then it's just a matter of creating the Phones folder setup in the zip which is simply creating folders: system\app - system\media\audio etc then dragging and dropping your files into it. A basic understanding of the updater script is essential, a ROM.zip will more than likely wipe your Phone whereas a Theme.zip may just replace files but it might delete some also.
See below for a CWM.zip Template but first some helpful links...
[Tool]easy flasher v4 (ur own update.zip)
[TUT] [for NOOB] editing updater-script for noobs!
[TUTORIAL] Making Flashable ZIPs, EDIFY Script, ZIP Signing & Key Creation
[Utility-Tool][DEVandThemers]CWMflashpack.zipCreatorV1{TheCollective}w/EdifyScripting
This is my Theme_CMW_Template.zip which is set up so you can add your own files to the framework and apps folders in the main system location, but you can easily add other folders to it if you want to add things like fonts, tones or anything else, just remember to add folders within folders if that's where the files you want to include are such as tones, media\audio\alarms for example.
If you navigate to META-INF\com\google\android you will find the updater-script which controls how the zip works and the text you see when you run it in CWM. As this zip is just for basically over writing files you don't need to edit anything except for a few lines...
...this is how I've edited it for my Ice Green ResMods theme...
...so just edit it using Notepad++ to your liking.
When adding files to your zip add them using Normal as the Compression Method...
...and that's pretty much it. Remember to remove the text files I've added otherwise they will be flashed to your folders too.
[How To] AOSP Lockscreen...
[MOD][4.2.2][Z] AOSP Lockscreen
1. Decompile your framework-res.apk.
2. Go to your layout folder and open keyguard_screen_tab_unlock.xml then find and change the following lines...
Code:
<com.android.internal.widget.DigitalClock android:layout_gravity="right" android:id="@id/time" android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_marginBottom="12.0dip">
...to...
Code:
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_gravity="center_horizontal" android:layout_marginTop="100.dip" android:layout_marginBottom="3.0dip">
...then change this...
Code:
<LinearLayout android:layout_gravity="right" android:orientation="horizontal" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin">
...to this...
Code:
<LinearLayout android:layout_gravity="center_horizontal" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip">
...also change this...
Code:
<Button android:layout_gravity="right" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
...to this...
Code:
<Button android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
...then change this...
Code:
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
...to this...
Code:
<LinearLayout android:gravity="center" android:visibility="gone" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
3. Recompile and sign your framework-res.apk
4. Go to system/app and either delete, rename or remove all permissions for UxpNxtLockScreen.apk.
5. Replace your framework-res.apk on your Phone with the new one, reboot, done....
To also remove the operator logo as I have change this line...
Code:
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:layout_alignParentBottom="true" />
...to...
Code:
<TextView android:textAppearance="?textAppearanceMedium" [B][COLOR="Red"]android:visibility="gone"[/COLOR][/B] android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:layout_alignParentBottom="true" />
Deodexing...
philos64 said:
The differences between Odex and Deodex Files...
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space The odexed file structure works well as an optimization tool. Since these .odex files contain preliminary load information about each system app, the OS knows what to expect when it’s booting up, and consequently, loads all these apps faster.
On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
For instance, on a non-rooted device you’ll find
system/app/Phone.apk ===> as well as ===> system/app/Phone.odex
Click to expand...
Click to collapse
- [GUIDE] - The differences between Odex and Deodex Files
[TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]
abcdjdj said:
Hi everyone,
Alokbina and I have created a tool which allows users to very easily deodex apks from a rom. This tool is very useful for Rom developers too. For now only windows is supported but we will try our best to make the same tool for linux too and make the tool as user friendly as possible. And, please don't forget to thank alokbina too.
Requirements:-
--->Java installed on your PC
--->system/framework folder from your rom
--->apks from that SAME ROM with the respective .odex file
--->Patience and a calm head (common sense included)
You can watch this video for setting up and using the tool -
- [FIXED][UPDATE - V3][TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]
Click to expand...
Click to collapse
[GUIDE] How to DEODEX stock ODEXED ROM using dsixda's kitchen
Random Stuff...
edangel said:
Solution For 70 limit stock SMS Characters...
Well...for people who can't sent 160 sms characters on stock sms messaging app and they are limited to sent 70 characters here is the solution...
Simple...root needed!
with root explorer etc...
go to: /data/data/com.sonyericsson.conversations/shared_prefs
and open the file com.sonyericsson.conversations_preferences.xml.
find the line which says "semc_pref_key_character_conversion"value=false
and set it true..!
save the file and reboot your phone...and happy texting!
if i helped press thanks button!
:laugh:
Click to expand...
Click to collapse
XperienceD said:
cickii said:
can someone please tell me which xml is responsible for the blue / gray colors in the picture below.
Click to expand...
Click to collapse
Finally sussed it. It's LinearColorBar.smali found at Settings\smali\com\android\settings\applications, search for 0x99cc and -0xff6634 and change them for your own colours...
Click to expand...
Click to collapse
XperienceD said:
Hi all.
Just a short write up as a follow on from THIS thread as this is relatively quite simple.
So you want to change your notification background from the plain dark color to something a bit more your style...
...well all you need to do is decompile your SystemUI.apk and navigate to the values folder and open up your drawables.xml and you should see something like this...
Code:
<resources>
<item type="drawable" name="notification_number_text_color">#ffffffff</item>
<item type="drawable" name="notification_item_background_color">#ff111111</item>
<item type="drawable" name="notification_item_background_color_pressed">#ff257390</item>
<item type="drawable" name="ticker_background_color">#ff1d1d1d</item>
<item type="drawable" name="status_bar_background">#ff000000</item>
<item type="drawable" name="status_bar_recents_background_solid">#e5000000</item>
<item type="drawable" name="status_bar_recents_app_thumbnail_background">#88000000</item>
<item type="drawable" name="status_bar_notification_row_background_color">#ff090909</item>
<item type="drawable" name="notification_header_bg">#ff000000</item>
<item type="drawable" name="notification_tracking_bg">#e5000000</item>
<item type="drawable" name="recents_callout_line">#99ffffff</item>
<item type="drawable" name="notification_item_background_legacy_color">#ffaaaaaa</item>
</resources>
Simply change these two lines...
Code:
[B]<item type="drawable" name="notification_item_background_color">#ff111111</item>
<item type="drawable" name="notification_item_background_color_pressed">#ff257390</item>[/B]
to...
Code:
[B]<item type="drawable" name="notification_item_background_color">[COLOR="Red"]@drawable/status_bar_item_background_normal[/COLOR]</item>
<item type="drawable" name="notification_item_background_color_pressed">[COLOR="Red"]@drawable/status_bar_item_background_pressed[/COLOR]</item>[/B]
...then add two .9 png images of the same name, status_bar_item_background_normal and status_bar_item_background_pressed to your drawable-hdpi folder, recompile, zipalign, push to your Phone, done.
Quick Tip: If you can't create a .9 from scratch just edit the first two in drawable_hdpi which in my folder is alert_bar_background_normal.9 and alert_bar_background_pressed.9, just remember not edit over the .9 borders.
Click to expand...
Click to collapse
Hell man no posts from anyone??
Excellent excellent thread man.
dhirend_6d said:
Hell man no posts from anyone??
Click to expand...
Click to collapse
With 1500+ views hopefully it's because it's written that well People don't need to ask anything. :silly:
dhirend_6d said:
Excellent excellent thread man.
Click to expand...
Click to collapse
Thanks.
Thanks for this!
Sent from my SGH-I747 using xda premium
Can you make a tutorial
1. How to port magnify glass to ics devices/mdpi
2.how to port small app to ics devices/mdpi
3. How to add internet speedo meter In pull down menu not in status bar for ics
A million thanks if you make it ......
Sent from my ST21i2 using xda app-developers app
In Windows Phone 8 Runtime component (C++/CX) we can use fopen or CreateFile2 to create/open a file. For example
Code:
fopen("hello.txt", "w");
You see, I don't explicitly specify any path. And I can't figure out where this hello.txt resides? It can't be in Installed Location, and it isn't in Local Folder. Where is it?
Well, you could try the following:
_fileno() to get the integer file descriptor from the FILE*
_get_osfhandle() to get the Win32 HANDLE from the fd
GetFileInformationByHandleEx() to get the file name from the HANDLE.
I *think* those are even all supported on WP8, though I haven't checked except for the last one.
APIs like GetFullPathName() would make it easy, but may not be supported. CreateFile2 would let you skip the first two APIs in that list, if it works.
I inspected the WP8 .vhd file, and saw that my file was created in the Install folder. It looks like native code does not conform to the rule (Install folder is read-only location)
Whaaaaaat?!? That's... um. Serious. I'll look into it.
onmyway133 said:
I inspected the WP8 .vhd file, and saw that my file was created in the Install folder. It looks like native code does not conform to the rule (Install folder is read-only location)
Click to expand...
Click to collapse
Are you sure it does not create it on the root of the isolated storage space? That's rather unexpected to have the file in a read-only folder...
The install location is read/write to the app.
What
the
hell?
I can send test code if anybody wants, but it's easy enough to check yourself. You don't even need native code to do it, the .NET APIs work well enough.
I am somewhat confused.
mcosmin222 said:
Are you sure it does not create it on the root of the isolated storage space? That's rather unexpected to have the file in a read-only folder...
Click to expand...
Click to collapse
You can create a simple project to test this. In the C++ WP Runtime Component project, just use fopen or CreateFile2
Then use Hyper-V manager and Disk Management to easily inspect the WP .vhd file (I'm using Emulator)
You can use some things like IsoStoreSpy to see that the newly created file does not reside in the Local Folder (in WP8, they rename Isolated Storage to Local Folder)
I wrote a small app to test it; I can share the source if you want. It's really simple. I used the native APIs to create the file and write to it, then used the managed APIs to confirm it was there and read it, then used the native APIs to delete it, and the managed ones to confirm it was gone. Very simple. I then used the managed APIs to create the file myself (await Package.Current.InstalledLocation.CreateFileAsync("hello.txt")) and it worked.
Have you tried to create a xap file in the Install folder and reboot?
My 8X is freezing after creating a xap...
@spikedviper: No, I haven't tried anything like that. I don't seem to have write access from my app to the folder where pre-installed / OEM XAPs reside.
I did try editing the manifest; I was able to edit it with no problems but changing the capabilities didn't *do* anything, so I'm pretty sure it's still only parsed at install time.
hm...so what is the default path if no path specified?
looks like it stores it here: ms-appdata:///Local/ anyway check out "Data for Windows Phone" at msdn
I did some some searching to no avail. Does anyone have an exchange email apk that is hacked so you don't have to use a PIN? Thanks
I would also like this for the Verizon Moto X.
There's a xposed module " by pass exchange email” but I have no idea if it works
Sent on my Moto X
The xposed bypass doesn't work I have tried it.
sent from my rooted at&t moto x
I know how to crack the Email.apk but only if it has the Classes.dex file in the APK. The one for verizon does not. Is this due to it being odex'd?
corywf said:
I know how to crack the Email.apk but only if it has the Classes.dex file in the APK. The one for verizon does not. Is this due to it being odex'd?
Click to expand...
Click to collapse
Haha. If I could answer that I probably wouldn't have to request the .apk. Hopefully some folks chime in.
thepolishguy said:
Haha. If I could answer that I probably wouldn't have to request the .apk. Hopefully some folks chime in.
Click to expand...
Click to collapse
lol yeah that's what I was hoping too. I'd like to get rid of the pin lock.
You have to deodex the apk. I had to re-install windows and don't really feel like doing anything right now.
Make sure adb is working test using adb devices. If you see a device your good. Also make sure you have Java installed.
Create new dir in your C:\ name it what ever in this case MotoX
Create two more dir's inside the MotoX dir
Framework
Apps
So you should have;
C:\MotoX
C:\MotoX\Framework
C:\MotoX\Apps
run these two commands using adb.
Code:
adb pull /system/framework C:\MotoX\Framework
adb pull /system/apps C:\MotoX\Apps
Download these two files attached.
baksmali.jar
smali.jar
Place them in C:\MotoX so like
C:\MotoX\baksmali.jar
C:\MotoX\smali.jar
In cmd prompt run these commands.
Code:
cd C:\MotoX
baksmali.jar -a 15 -x C:\MotoX\Apps\filename.odex -d C:\MotoX\Framework
This will create a folder called "out" so you will see this
C:\MotoX\out
THIS OUTPUT IS SMALI, YOU CAN MAKE CHANGES BEFORE COMPILING TO DEX.
To make this into a dex you run this in cmd
Code:
cd C:\MotoX
smali.jar out -o classes.dex
Copy C:\MotoX\Apps\filename.apk to C:\MotoX
Open filename.apk with 7-Zip, drag and drop classes.dex into the main dir of the 7zip apk.
You have a deodex apk.
Wow!
amoamare said:
You have to deodex the apk. I had to re-install windows and don't really feel like doing anything right now.
Make sure adb is working test using adb devices. If you see a device your good. Also make sure you have Java installed.
Create new dir in your C:\ name it what ever in this case...
Click to expand...
Click to collapse
Boom goes the dynamite!
corywf said:
I know how to crack the Email.apk but only if it has the Classes.dex file in the APK. The one for verizon does not. Is this due to it being odex'd?
Click to expand...
Click to collapse
@corywf - Will this post help you create the hacked .apk?
amoamare said:
You have to deodex the apk. I had to re-install windows and don't really feel like doing anything right now.
Make sure adb is working test using adb devices. If you see a device your good. Also make sure you have Java installed.
Create new dir in your C:\ name it what ever in this case MotoX...
...You have a deodex apk.
Click to expand...
Click to collapse
thepolishguy said:
@corywf - Will this post help you create the hacked .apk?
Click to expand...
Click to collapse
Also I didn't really spell check any of this so make sure you manually type it out and that your dir references are correct.
amoamare said:
You have to deodex the apk. I had to re-install windows and don't really feel like doing anything right now.
Make sure adb is working test using adb devices. If you see a device your good. Also make sure you have Java installed.
Create new dir in your C:\ name it what ever in this case MotoX
Create two more dir's inside the MotoX dir
Framework
Apps
So you should have;
C:\MotoX
C:\MotoX\Framework
C:\MotoX\Apps
run these two commands using adb.
Code:
adb pull /system/framework C:\MotoX\Framework
adb pull /system/apps C:\MotoX\Apps
Download these two files attached.
baksmali.jar
smali.jar
Place them in C:\MotoX so like
C:\MotoX\baksmali.jar
C:\MotoX\smali.jar
In cmd prompt run these commands.
Code:
cd C:\MotoX
baksmali.jar -a 15 -x C:\MotoX\Apps\filename.odex -d C:\MotoX\Framework
This will create a folder called "out" so you will see this
C:\MotoX\out
THIS OUTPUT IS SMALI, YOU CAN MAKE CHANGES BEFORE COMPILING TO DEX.
To make this into a dex you run this in cmd
Code:
cd C:\MotoX
smali.jar out -o classes.dex
Copy C:\MotoX\Apps\filename.apk to C:\MotoX
Open filename.apk with 7-Zip, drag and drop classes.dex into the main dir of the 7zip apk.
You have a deodex apk.
Click to expand...
Click to collapse
so I have accomplished all of this. I am currently working on the email.apk. there is also the exchange2.apk that i believe will need to be edited as well.
When I edited the email apk a couple of years ago I just went to these lines and returned true and false. These lines check to see if the policies are enabled I believe.
Code:
.method public isActive(Lcom/android/emailcommon/provider/Policy;)Z
.registers 1
.parameter "policy"
.prologue
const/4 v0, 0x1
return v0
.end method
.method public isActiveAdmin()Z
.registers 1
.prologue
const/4 v0, 0x0
return v0
.end method
I then tried to recompile it and i got an error stating that two registers were required for one of the two changes. I haven't looked at which line yet because I know I don't know enough to figure out why it needs to registers. Here is the error.
Code:
c:\MotoX>java -Xmx512M -jar smali.jar out -o classes.dex
out\com\android\email\SecurityPolicy.smali[1659,4] This method requires at least
2 registers, for the method parameters
so this is where i am and this is what im stuck on. Ill attach the entire smali file so anyone that can help can take a look at the entire code. Ill also attach the security admin smali in case that matters.
Ill also begin working on the exchange apk, but this apk didn't exist the last time i did this so I'm not sure what I'm going to do with it. Like I said, Im not good at this stuff I just really want an exchange security bypass for my Moto X.
edit: Verizon Moto X
If your exchange server only checks for pin on setup, try this:
adb shell
sqlite3 /data/system/locksettings.db
update locksettings set value=0 where name='lockscreen.password_type';
.exit
exit
That will set the lock to slide.
thepolishguy said:
I did some some searching to no avail. Does anyone have an exchange email apk that is hacked so you don't have to use a PIN? Thanks
Click to expand...
Click to collapse
There's already an email apk in xda but you must be rooted
Sent from my Nexus 4 using XDA Premium HD app
icase81 said:
If your exchange server only checks for pin on setup, try this:
adb shell
sqlite3 /data/system/locksettings.db
update locksettings set value=0 where name='lockscreen.password_type';
.exit
exit
That will set the lock to slide.
Click to expand...
Click to collapse
Ill try that later in the week when I have more time. I don't have the accounts set-up yet. But that workaround seems like it would still cripple some of the touchless control functionality. Appreciate the help though. It will be better than nothing when I finally decide to install these stupid exchange accounts.
paulo_cv said:
There's already an email apk in xda but you must be rooted
Click to expand...
Click to collapse
which apk's are you talking about? i tried two that I found on xda. The thread had 3 apk variants for 4.1 4.2 and 4,3. I tried the 4.2 and 4.3 apk's but they both crashed immediately on boot.
steps taken:
1.renamed email.apk, email.odex, exchange2.apk, exchange2.dex with ".bk" at the end instead of deleting them so i could undo what i did as easy as possible.
2. moved the new Email.apk and Exchnage2.apk from sd card to system/app
3. chmodd 755 both apk's
4. rebooted
RESULT: got constant failures notifications that exchange server had failed an email had failed. the email app would not open into anything.
link to the apk's I used: http://forum.xda-developers.com/showthread.php?t=1749921
The apk's are located in the zip files so I just pulled them from there.
Sent from my Nexus 4 using XDA Premium HD app
jayboyyyy said:
Ill try that later in the week when I have more time. I don't have the accounts set-up yet. But that workaround seems like it would still cripple some of the touchless control functionality. Appreciate the help though. It will be better than nothing when I finally decide to install these stupid exchange accounts.
Click to expand...
Click to collapse
It should have no affect on the touchless. Essentially, if you have it set to slide lock screen anyway (the default out of the box), you set up your account, set a pin/pattern/password/whatever. Once the account is setup and synching, you can run the above commands, which merely sets the value in the DB back to slide without actually turning off 'pin' in the settings. Apparently, the app only looks at the settings, not in the DB. I had to do this because I work for a certain 3 letter company (Think Watson), and we use Lotus Notes. To use them on a phone, they have ridiculous 8 character password requirements with a 30 second timeout as well as making them device administrators despite it being MY phone. I set it up, run the above commands, and its back to just being how I like it with no password to unlock. Their software thinks I'm in compliance, and I can do my job all the more easily.
icase81 said:
It should have no affect on the touchless. Essentially, if you have it set to slide lock screen anyway (the default out of the box), you set up your account, set a pin/pattern/password/whatever. Once the account is setup and synching, you can run the above commands, which merely sets the value in the DB back to slide without actually turning off 'pin' in the settings. Apparently, the app only looks at the settings, not in the DB. I had to do this because I work for a certain 3 letter company (Think Watson), and we use Lotus Notes. To use them on a phone, they have ridiculous 8 character password requirements with a 30 second timeout as well as making them device administrators despite it being MY phone. I set it up, run the above commands, and its back to just being how I like it with no password to unlock. Their software thinks I'm in compliance, and I can do my job all the more easily.
Click to expand...
Click to collapse
i see what you did there. will work on it right now. I was thinking you were changing the pin lock to just a swipe unlock but the phone would still assume it was a lock (which is why i was thinking touchless controls would still think that it was locked) but the way you explained it makes clears it up. Thanks for the quick response and easy workaround. Ill be needing to ask you for the correct code once 4.3 comes out though...
This is the one I use. You must remove exchange accounts before flashing and download the appropriate one for your android version
http://forum.xda-developers.com/showthread.php?t=1749921
I've been using it for a while with different devices/ROMs
Sent from my Nexus 4 using XDA Premium HD app
paulo_cv said:
This is the one I use. You must remove exchange accounts before flashing and download the appropriate one for your android version
http://forum.xda-developers.com/showthread.php?t=1749921
I've been using it for a while with different devices/ROMs
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
yup yup. those are the ones i tried already. Ran the 4.2 variant and the 4.3. I ran the 4.3 because the apk's are named the same as the apk's on our 4.2.2 where as the hacked 4.2 apk's are not the same name. But neither worked anyway so it didn't really matter. They wouldn't even run. It could be because "chmod 755" didn't do the correct permissions??? I didn't go in and check to see what permissions were actually given to the apk's after i moved them from the sd card to the system/app directory and ran chmod 755.
jayboyyyy said:
yup yup. those are the ones i tried already. Ran the 4.2 variant and the 4.3. I ran the 4.3 because the apk's are named the same as the apk's on our 4.2.2 where as the hacked 4.2 apk's are not the same name. But neither worked anyway so it didn't really matter. They wouldn't even run. It could be because "chmod 755" didn't do the correct permissions??? I didn't go in and check to see what permissions were actually given to the apk's after i moved them from the sd card to the system/app directory and ran chmod 755.
Click to expand...
Click to collapse
If you flash them through a custom recovery the installer takes care of the permissions. I've never tried to push them manually so not sure if that works
Sent from my Nexus 4 using XDA Premium HD app
Hi, can anyone advise me on this -
I've had an app in the playstore for a very long time, I don't have the code for my app as i lost it years ago, but have never had any problems editing and updating the app using apktool or sometimes apk editor, then resigning and uploading each update to playstore with the developer console.
My worry is google's ambition to eventually force everyone to upload only aab's (app bundles) rather than apks.
Is it possible to import my apk into the latest android studio and convert it to .aab bundle without the code?
If this is not possible, is there any other method to convert my .apk to .aab?
Any help is greatly appreciate, regards.
its possible 100% to make aab from apk i have compiled 3 4 apps
1.Decompile apk and copy res[folder] and Androidmanifest.xml into folder
2.Compile each resource into .flat file with aapt2 compile [path] -o outputfolder/
3.Use aapt2 link command to generate apk thats contains resouces.pb and manifest in protobuf format
Create base.zip put search for how to put files in it on Google
Use bundletool Build-bundle command to Create aab
or
use apktoaabconverter.com
philsilvers said:
Hi, can anyone advise me on this -
I've had an app in the playstore for a very long time, I don't have the code for my app as i lost it years ago, but have never had any problems editing and updating the app using apktool or sometimes apk editor, then resigning and uploading each update to playstore with the developer console.
My worry is google's ambition to eventually force everyone to upload only aab's (app bundles) rather than apks.
Is it possible to import my apk into the latest android studio and convert it to .aab bundle without the code?
If this is not possible, is there any other method to convert my .apk to .aab?
Any help is greatly appreciate, regards.
Click to expand...
Click to collapse
send me email [email protected]
I have a complete apk to abb solution
See my article for details
滑动验证页面