[Tool][Windows]CMX: Port CM11 Themes to X/HKTheme engine in one click - Miscellaneous Android Development

{
"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"
}
Thread Index:
Post 1 - Information. PLEASE READ!
Post 2 - Usage and porting info.
Post 3 - Features status. To request features use the tab at the top of the thread.
Post 4 - Ported themes and links.
Click to expand...
Click to collapse
When posting I only ask of 3 simple requirements.
1) Please search or read first. If the question has been asked/answered i will not reply.
2) Post any log extracts and pictures within the "hide" tags to keep the thread clutter free.
3) Do not quote posts in full. If you have to, use the hide tags
What is CMX?
This is a batch script that runs on Windows to port CM11 themes to work with XTheme/HKTheme engine.
Unless porting png's solely, this is designed to take most of the leg work out of porting themes across, so expect some errors when working with the xml's. It is difficult to encompass all the different CM11 themes and quirks they bring with them without downloading and testing each and every theme available.
Ive tried to make the script as unobtrusive and self sufficient as possible with minimal user input in automatic mode.
If you include xml's, some manual labour may be necessary depending on the theme so expect to get your hands dirty. From the themes I've tested with xml's included, 50% have ported straight through and 50% have failed and required some extra attention.
When the script runs through the asset configuring phase (png's/xml's) it will open up a window for each package folder one at a time. One folder must finish processing before the other begins.
Requirements:
Java development kit (jdk) -Link. Installed and in your environment path -Link
CM11 theme to port Take your pick.
The ability to solve apktool log errors. I will help, but I will not spoonfeed!!.
Time Taken:
Setting up 10 minutes (inc. Java install)
Porting (depending on theme)
png's only- 2 minutes.
Difficulty- 2/10. Common error- 9 patch faults.
inc. xml's- 5 minutes.
Difficulty- Dependant on theme. Common error- xml faults.
Basically my script will work as follows when ran and "Automatic" is selected:
Set up required folders.
Automatically detect the apk in "CMThemeIn" folder and set it as the project or prompt the user to insert an apk.
Decompile set theme.
Create all the redirection.xml's required.
Cycle through the
Code:
assetsoverlays*InsertPackageNameHere*resdrawable
folders, and move them to the corresponding folder in the XTheme folder.
Gather xmls from res "drawable" and values" and insert appropriate redirections for that package name.
Ask the user to input a package name in AndroidManifest.xml.
Ask the user to input a theme, app, author and original themer name in strings.xml.
Compile, sign, zipalign and then place the output in "XThemeFinished" folder" ready for installing.
Currently the ports are best served with AOSP but there is an option to add redirections for TouchWiz and Semc (JellyBean 4.2 framework-res.apk).
The script offers you the option to include xml's or not.
Depending on the android version you are using certain xml's may not work or cause conflicts resulting in SOD's, force closes and bootloops.
To recover from a bootloop read the FAQ below.
Currently I wont be porting boot animations and fonts. Although I may add an option to port boot animations etc to a flashable zip.
Finally, the ported themes will NEVER look like the CM counterpart due to the Xposed limitation of themeing "styles.xml". This is not a restriction of the CMX tool, theme .apk or the theme engine
To find out more about the structure and for a better understanding go here and read more:
http://forum.xda-developers.com/showthread.php?t=2334637
Click to expand...
Click to collapse
FAQ
Q). It says Java not found, how do I add the Java path?
A). Check "What is CMX?" for a guide.
Q). The script fails in auto, what's wrong?
A). Read the log.txt and assets,txt in tools and look for any errors, if you cannot understand them then post your log either as a .txt file or as a snippet wrapped in hide tags as shown above.
Q). Whats the difference between CM10 and CM11 themes?
A). All the drawable resources for CM11 themes now reside in "assetsoverlays" and not "resdrawables" as they previously did. Also they no longer use redirection xml's.
Due to this change, XTheme and HKTheme engines do not support CM11 themes...until now.
Q). Why doesn't the theme look like the CM11 counterpart?
A). This is due to styles.xml not being supported and xml restrictions if not included.
Q). I've got a bootloop, how can I fix it?
A). Go and follow the instructions here: http://tinyurl.com/nm4eups
Q). Why does it take longer when porting than it used to?
A). I have muted the opening of seperate windows. Each folder in the CM11Themeassets directory is processed one at a time to prevent errors. This must be done correctly or this will have detrimental effects to the xml's being created and
cause compiling errors.
Q). What are the duties of the folders?
A).
"tools": Contains all the resources needed to help porting.
"CMThemeIn": This is the folder you place your desired CM theme to be ported.
"CMThemeOut": When apktool decompiles the apk from "CMThemeIn", this is the source/reference for porting.
"XTheme": Contains the resources from "CMThemeOut" that have been configured and modified to be X/HKTheme compatible.
"XThemeFinished: This folder is used to store the newly created, X/HKTheme compatible apk.
Q). How do I remove "ON" and "OFF" from the switches?
A). See this post: Link.
Q). I get "invalid resource directory name" in the error log, how do I fix it?
A). Something has broken the script process and caused the creation of unnecessary folders. Goto "XThemeXThemeBase.apkres" and remove the folders detailed in the log.
Example: "XThemeXThemeBase.apkresdrawable-SomeRandomName" delete "SomeRandomName" folder
Click to expand...
Click to collapse
Credits:
@brut.all, @iBotPeaches and @JesusFreke for apktool and smali/baksmali respectively.
@nhnt11 for his xml generator.jar.
@existz and @xIC-MACIx for letting me test on their themes.
@rovo89, @ruqqq and @hdbk1986 for Xposed, Xtheme and HKTheme respectively.
@pierx for TouchWiz 4.2 framework-res redirections.
All the beta-testers.
Click to expand...
Click to collapse
XDA:DevDB Information
CMX, Tool/Utility for all devices (see above for details)
Contributors
dully79
Version Information
Status: Beta
Current Beta Version: v3
Beta Release Date: 2014-09-15
Created 2014-08-29
Last Updated 2014-09-27

Using the script and porting.
Instuctions:
Download the zip.
Downloads can be found in the "Download" tab above.
Or if your browsing via mobile you can use this mirror: CMX beta v3
Unzip the "CMX" folder to a directory containing no spaces or rename the folder.
Any spaces within the containing folder will result in the jar files not being able to run.
BAD= C:/Users/My name/desktop/CMX beta T1000
GOOD= C:/Users/My_name/desktop/CMX_beta_T1000
I've also included Jarsigner.exe in the download. Move it to your "Java\bin" folder if you do not have it installed, otherwise you can delete it.
Start ".RunMe.bat".
Your now presented with 2 main options with regards to porting.
Automatic.
Manual.
I've covered automatic above in "What is CMX" so i'll explain manual.
Basically all the options in the manual menu (other than options 0 and 1) are what the automatic mode cycles through in the same order. This can be useful if you receive any errors and want to carry on from where automatic failed.
The options are self explanatory but I'll give basic details:
Choose apk. Can be used to override the automatic built in selection. Useful if you have a number of apks in the "CMThemeIn" folder, although it is recommended to just keep one apk to prevent possible bugs.
Decompile apk. Decompiles the chosen apk for assets extraction.
Create main redirections.xml. Creates the main redirection xml containing all the package redirections.THIS MUST RUN BEFORE 4+5.
Configure CM11 xml's. Configures and ports CM11 xml's to work with X/HKTheme.
Configure CM11 png's.Create package (app) redirections.xml's and copies all the images to the appropriate folders in XThemeBase.apk inc. theme icon and wallpaper.
Set package and strings.xml name. Asks the user to declare the new package name in AndroidManifest.xml. Ideally use the same as the theme but with an "X" prefixing. e.g "com.mac.theme.gem" becomes "Xcom.mac.theme.gem". Also asks the user to to set the new app, theme, porter and original author name.
Compile. Compiles XThemeBase.apk into the ported theme apk.
Sign and zipalign. Signs and zipaligns the newly compiled apk ready for installation. The key used is market compatible generated by me.
Return to main menu. Returns to the initial screen.
When porting a theme try to name it so it is easy to differentiate from the original.
Example.
Original package and app name:
com.mac.theme.gem
Gem Flat
Ported with png's only:
X.com.mac.theme.gem
X Gem Flat
Ported with xml's:
X.com.mac.theme.gem.inc
X Gem Flat inc
How to port the custom launcher icons?
To use the new custom icon porter option, you will find it under option 2 (Manual) and 9. Two pre-requisites must be met:
You must have decompiled the apk in CMThemeIn prior to choosing this option.
Set the AndroidManifest name or strings. If you have not, or closed the tool since porting the main theme, you can define them using option 2 (Manual) and 6.
If the theme you are porting doesnt support a certain density, you can use this jar tool to create them:
https://github.com/redwarp/9-Patch-Resizer/releases
ONLY CREATE DENSITIES LOWER THAN THE INPUT!.
Porting themes? Then read this:
If you are going to port a theme and share it, you MUST obtain permission from it's creator/author.
Not only is this good community manners it is XDA forum rules.:highfive:
XDA Rules
12. Using the work of others.
If you are developing something that is based on the work of another Member, you MUST first seek their permission and you must give credit to the member whose work you used. If a dispute occurs about who developed / created a piece of work, first try to settle the matter by private message and NOT in open forum. If this fails, you may then contact a Moderator and provide clear evidence that the work was created by you.
Click to expand...
Click to collapse

Feature status and changelog
Feature status:
Auto porting of xml's- xml's need the correct redirection prefix adding to the resource direction inside the file. This can be done manually if required (NOT RECOMMENDED). Complete.
Redirections for OEM ROM's e.g. TouchWiz, Semc etc. Complete.
Porting of app themed icons- This is something i will add in to port to a separate apk. Complete.
Porting of boot animations, fonts, ringtones etc. Possibly to a flashable zip.
styles.xml- Broken inside Xposed.
Changelog:
29/08/14
First beta release.
31/08/14 beta v1.1
Lots of code cleaning and bug fixes inc. message suppressing.
The script now searches for installed framework-res.apk, if none is found it will install the provided apk automatically.
If you input a CMTheme.apk that isnt a true CM11 Theme (doesn't use assets\overlays) you will receive a warning in the console and the decompiled folder will be removed.
"tools" folder contains:
framework-res.apk from CM11 for Mako.
aapt from android sdk build tools 4.4#
My updated version of the XTheme sample.apk A.K.A XThemeBase.apk
15/09/14 beta v3
Added xml porting support.
Updated XThemeBase.apk to include drawable and xml folder.
Lot's of code cleaning and bug fixes.
Removed opening of multiple windows. This results in a longer but cleaner process.
Added Jarsigner.exe to download.
Some other stuff.
23/09/14 beta v4
Removed jarsigner.
Removed framework-res.apk to reduce zip size (added to CMX folder in post #4 if required).
Added framework-res.apk redirections (4.2 Jelly Bean) for Sony and Samsung (thanks @pierx) devices.
Added the ability to port custom icons and wallpaper.If supported by the ported theme to a standalone Apex/Nova theme.apk. Manual option 9.
Fixed bug where invalid resource directories where created in XTheme.
Cleaned and re-wrote some code inc. an extra log for xml and png porting. This can be found in tools\ called assets.txt
24/09/14 beta v4.1
Added custom AndroidManifest and strings.xml to icon.apk porter. Uses values defined for main theme port. Can be redefined by selecting option 2 (Manual) and 6.

Ported CM11 Themes
The themes are split into 2 categories:
Drawables port.
Full port.
The reason for being split is because devices on older android versions (<4.3) might bootloop if using a fully ported 4.4 theme with a conflicting xml.
To cancel any bootloops you can disable Xposed via the flashable zip provided in rovo's Xposed thread, or by using adb shell delete in recovery. See faq above.
Layout:
[Supoorted densities] Name of theme- Created by author
Original thread- Link
Density key:
H=hdpi. X=xhdpi. XX=xxhdpi
Drawables only themes:
[X~XXHDPI] Gem Flat free v2.6.1- Created by @xIC-MACIx
Original thread-http://tinyurl.com/o3ofx5h
---------------------------------------------------------------------------------------
[XXHDPI] Android L-Mint v1.7- Created by @existz
Original thread-http://tinyurl.com/p2ulk26
Full port themes:
[X~XXHDPI] Gem Flat free v2.6.1- Created by @xIC-MACIx
Original thread-http://tinyurl.com/o3ofx5h
---------------------------------------------------------------------------------------
[XXHDPI] Android L-Mint v1.7- Created by @existz
Original thread-http://tinyurl.com/p2ulk26
---------------------------------------------------------------------------------------
[XXHDPI] Flats free v4/6 @rayford85
Original thread-http://tinyurl.com/mxf5jgb BEWARE.There is a bug when opening settings !
PLEASE NOTE: These ports are intended as a preview to what the tool can do. I will not be maintaining them or fixing bugs.
Downloads:
Click the Icon or the link.
Everything CMX related inside.
http://tinyurl.com/lv7cpqx
If you want to post ported themes in this thread then feel free and i will link to your post from here.
Please obtain the authors permission to port and distribute.
Many thanks to the authors of the themes for allowing me to port them.
If you download their theme you should go to the link above and thank them.:good:

First!!!!!!!.. Is it possible to make this an app for android? That would be great

Juansegovia20 said:
First!!!!!!!.. Is it possible to make this an app for android? That would be great
Click to expand...
Click to collapse
You win a prize for premature jubilation.
It probably is possible. If the script was converted from batch to .sh to run on your device, you could package it into an apk... But I won't be doing it. Creating this took me long enough. Plus I don't have the skills.
Ideally there would be an update to X/HKTheme or a new module developed. In the mean time this is the next best option.

dully79 said:
You win a prize for premature jubilation.
It probably is possible. If the script was converted from batch to .sh to run on your device, you could package it into an apk... But I won't be doing it. Creating this took me long enough. Plus I don't have the skills.
Ideally there would be an update to X/HKTheme or a new module developed. In the mean time this is the next best option.
Click to expand...
Click to collapse
I was just asking about the app because some of us don't have the knowledge do do all of this... but thanks, i hope someone here will accept requests to port the themes

Juansegovia20 said:
I was just asking about the app because some of us don't have the knowledge do do all of this... but thanks, i hope sometime here will accept requests to port the themes
Click to expand...
Click to collapse
There is no knowledge required.
All you need is:
Java installed on your Windows system.
A CM11 theme of your choice placed in "CMThemeIn"
Run the script, select option 1 (Automatic) and follow the prompts (4 of).
Install the resulting signed file in "XThemeFinished".
It takes 2 minutes literally. Everything is automated to make it as noob friendly as possible.:good:
If you have Windows give it a try and you'll be surprised how easy it is.

dully79 said:
There is no knowledge required.
All you need is:
Java installed on your Windows system.
A CM11 theme of your choice placed in "CMThemeIn"
Run the script, select option 1 (Automatic) and follow the prompts (4 of).
Install the resulting signed file in "XThemeFinished".
It takes 2 minutes literally. Everything is automated to make it as noob friendly as possible.:good:
If you have Windows give it a try and you'll be surprised how easy it is.
Click to expand...
Click to collapse
Awesome, thanks, i tried yesterday but i was confused, with this new instruction things look way easier,lol, I'll report back if i successfully managed to port a theme, thank you Sir!!

dully79 said:
and follow the prompts (4 of)
Click to expand...
Click to collapse
can u please explain this ?
theme is loaded and recognized, then i select 1 for automatic, then ?
i cannot seem to get anything as a result in the XTheme folder

eurochild said:
can u please explain this ?
theme is loaded and recognized, then i select 1 for automatic, then ?
i cannot seem to get anything as a result in the XTheme folder
Click to expand...
Click to collapse
There are only 4 prompts contained in the automatic option
Set AndroidManifest.xml "package name".
Set strings.xml "app name".
Set strings.xml "theme name".
Set strings.xml "copyright name". This is the original author.
What does the log say?

dully79 said:
There are only 4 prompts contained in the automatic option
Set AndroidManifest.xml "package name".
Set strings.xml "app name".
Set strings.xml "theme name".
Set strings.xml "copyright name". This is the original author.
What does the log say?
Click to expand...
Click to collapse
i dont get these prompts when on automatic mode
log
--------------------------------------------------------------------------
|30-Aug-14 -- 16:33:48.84|
--------------------------------------------------------------------------
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode, sharing)
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-
The system cannot find the path specified.
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-

eurochild said:
i dont get these prompts when on automatic mode
log
--------------------------------------------------------------------------
|30-Aug-14 -- 16:33:48.84|
--------------------------------------------------------------------------
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode, sharing)
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-
The system cannot find the path specified.
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-
Error: Unable to access jarfile C:\Users\admin\Desktop\CMX-
Click to expand...
Click to collapse
Its not accessing apktool in the "tools" folder.
Try removing the "-" from CMX- and try again.

Can u create an app to Port themes?

READ!
IVIanuu said:
Can u create an app to Port themes?
Click to expand...
Click to collapse
Seriously?!
The thread only has 11 posts and 2 of them are regarding your question.
Please read or search before posting.
http://forum.xda-developers.com/announcement.php?f=1507:
1. Search before posting.
Use one of our search functions before posting or creating a new thread. Whether you have a question or just something new to share, it's very likely that someone has already asked that question or shared that news.
Click to expand...
Click to collapse
Juansegovia20 said:
First!!!!!!!.. Is it possible to make this an app for android? That would be great
Click to expand...
Click to collapse
dully79 said:
You win a prize for premature jubilation.
It probably is possible. If the script was converted from batch to .sh to run on your device, you could package it into an apk... But I won't be doing it. Creating this took me long enough. Plus I don't have the skills.
Ideally there would be an update to X/HKTheme or a new module developed. In the mean time this is the next best option.
Click to expand...
Click to collapse

post #14 @dully79 i'm on my mission right now
Thanks

dully79 said:
Its not accessing apktool in the "tools" folder.
Try removing the "-" from CMX- and try again.
Click to expand...
Click to collapse
same issue here even after removing the "-"

Rename the folder from "CMX- Betav1" to "CMX", the space will be throwing it out.

Everything works great.
Nicely done
Regards

everything goes well up until signing, zipaligning and recompilation.
Log:
Code:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Panna\apktool\framework\1.apk
I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 15, -F, C:\Users\Panna\AppData\Local\Temp\APKTOOL5025674521367376442.tmp, -0, arsc, -I, C:\Users\Panna\apktool\framework\1.apk, -S, D:\dRO\CMX\XTheme\XThemeBase.apk\res, -M, D:\dRO\CMX\XTheme\XThemeBase.apk\AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 15, -F, C:\Users\Panna\AppData\Local\Temp\APKTOOL5025674521367376442.tmp, -0, arsc, -I, C:\Users\Panna\apktool\framework\1.apk, -S, D:\dRO\CMX\XTheme\XThemeBase.apk\res, -M, D:\dRO\CMX\XTheme\XThemeBase.apk\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 15, -F, C:\Users\Panna\AppData\Local\Temp\APKTOOL5025674521367376442.tmp, -0, arsc, -I, C:\Users\Panna\apktool\framework\1.apk, -S, D:\dRO\CMX\XTheme\XThemeBase.apk\res, -M, D:\dRO\CMX\XTheme\XThemeBase.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:93)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355)
... 6 more
Caused by: java.io.IOException: Cannot run program "aapt": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at brut.util.OS.exec(OS.java:84)
... 7 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 11 more

Related

[TOOL][AIO] StudioAndroid # Automize everything! [GUI]

{
"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"
}
vlt96 said:
You shouldn't try it out when you have free time, it will give you free time
Click to expand...
Click to collapse
If you like my work, please consider a little donation:
Features
FEATURES LIST​Image
Install Image Tools: Install ImageMagick and/or PIL to use my Image Tools
Convert Image: Convert any image in given directory to given extension
Resize: Batch-resizes files found in given directory with given percent or given DPIs, or resizes an APK with given DPIs
Batch Theme: Applies a theme overlay (caclulated with luminosity values) to all images found in a given directory (e.g. THEME!)
Batch Rename: Batch renames all files found in a directory with a given pattern, and renames them to given out (for porting Themes)
CopyFrom: Copies images present in directory 1 FROM directory 2 (if present in dir 2) - for themers!
OptimizeImage: Optimizes Image, so that size will be smaller
Development
Prepare Building: Installs necessary build tools
Build from Source: Builds one from many sources and even choose a device (if available)
Add Governor: Add a governor to a kernel
Install Android SDK
Install Java JDK
APK
(De)Compile
Extract/Repackage APK
Sign APK with different keys
Zipalign APK
Install APK
Optimize Images INSIDE APK
Advanced
(Bak)Smali: Lets you edit the code inside classes.dex and compile back
ODEX: ODEX a ROM
DE-ODEX: DE-ODEX a ROM
Compile to an Exe: lets you compile Python scripts to an executable for your OS
Android
Configure ADB: Connect to devices over IP, enable/disable Network ADB on connected device
Logcat
Build.Prop: Pulls Build.prop from device and let you edit it
Backup / Restore: full backup of (all optional) apps, system apps, data, shared storage
ADB File Explorer
StudioAndroid options
Clean workspace and go back to before you used this tool the first time!
Debug: Includes printing the used commands before executing and testing the latest changes
Check the log in a scrollable window with selectable text
Report a bug: Opens a reply on this XDA thread with the content of your log in it
Changelog: See what's changed!
Update: Update StudioAndroid and choose between Stable en Nightly
Restart
About: shows information about the developer, contact info, profile image, twitter etc
​
Click to expand...
Click to collapse
SCALED PREVIEW: (Click to see full preview)
​
Click to expand...
Click to collapse
Instructions
Download the latest update OR one of the stable updates
Extract in your home directory
double-click StudioUnix
Click to expand...
Click to collapse
Preparation:
Download one of the stable updates
Extract in a path without spaces (e.g. NOT in "Documents and Settings")
Double-click StudioWindows.exe
Click to expand...
Click to collapse
OR
Download and run Python
Download and run PYGTK - 32-bits
Download the latest update OR one of the stable updates
Extract in a path without spaces (e.g. NOT in "Documents and Settings")
Right-click Studio.py > Open with > Python
Click to expand...
Click to collapse
Preparation:
install python2.7: 64-bit/32-bit x86-64/i386 / 32-bit i386/PPC
Install this (GTK+ and PyGTK)
Download THIS
Run StudioUnix
Click to expand...
Click to collapse
Click to expand...
Click to collapse
​
[TOOL][Linux / Windows] StudioAndroid - GtkUI
vlt96 said:
You shouldn't try it out when you have free time, it will give you free time
Click to expand...
Click to collapse
Translate?
LINUX
First navigate to StudioAndroid directory.
Then
xgettext -k_ -kN_ -o messages.pot Studio.py
msginit
Click to expand...
Click to collapse
A new file will be created (***.po)
Open that file with PoEdit and translate the right-column
When finished, save it and rename ***.po to Studio.po and put it in StudioAndroid/lang/yourlang_YOURLANG/LC_MESSAGES
afterwards, compile it:
msgfmt Studio.po -o yourlang_YOURLANG/LC_MESSAGES/Studio.mo
Click to expand...
Click to collapse
When I update it, merge the changes using:
xgettext -k_ -kN_ -o messages.pot Studio.py
msgmerge -U Studio.po messages.pot
Click to expand...
Click to collapse
and translate the new strings in PoEdit
The file I need is yourlang_YOURLANG/LC_MESSAGES/Studio.mo, but it's handy for you and me if you also include yourlang_YOURLANG/LC_MESSAGES/Studio.po
WINDOWS
Open lang/LanguageFiles/en_US.po in a text editor
msgid indicates the original string
msgstr indicates the string you need to translate.
So translate the msgstr strings.
Afterwards, send me en_US.po renamed to yourlanguage_YOURCOUNTRY.po
Thanks!
If you cant upload files anywhere, then past the content of SA.po in Pastebin and send me the link
THanks in advance
FULL CREDITS WILL BE GIVEN
Click to expand...
Click to collapse
Info
All info is now available at Github:
Git Source
Changelog
Bugs & Feature requests
BitLy Stats
Click to expand...
Click to collapse
Credits
Ablankzin : Contributor to StudioAndroid
Popdog123: He took the MAC side of the project
vlt96: Making a game to play while waiting
KeitlG: Compiled for windows!!!
KeitlG: Helped me testing the long-awaited ReCompile Fix!
Rookie407 : He compiled this tool for windows! AWESOME! You don't have to install Python and GTK anymore!!!
Lithid-CM : He was my messias on Python in general and GTK specific. Go and give him a "THANKS!"
KeitG: Gettext translation
WilliamCharles & Lycan: Windows testers - AWESOME, THANK THE GUYS!!
Click to expand...
Click to collapse
Omega Theme Studio
vlt96 said:
You shouldn't try it out when you have free time, it will give you free time
Click to expand...
Click to collapse
Features
This is a mode of StudioAndroid.
To go to this mode, run StudioAndroid > Options > Toggle Omega.
The purpose of modes is to specialize the GUI for specific actions and functions.
The purpose of the Omega Mode (AKA OmegaThemeStudio) is to create themes for Omega Apps on the fly.
FEATURES LIST
Retrieving styles
Download styles from official TeamSyndicate dropbox (30 and more styles!)
Upload your own style folder to the tool
Import selected styles from a CM-Theme.apk or ThemeUpdate.zip (!!)
Editing styles
Colorize the images, the same way as StudioAndroid does
includes selecting specific styles (clock, battery, signal, notification etc)
Customize on the fly!
This tool supports customizing all available values in XMLs
That means:
Editing clock colors
Editing clock dividers
Editing icon locations (for all notifications seperately)
Padding between icons
Clock size
Text size
AND MORE!
Building
Build with your own theme name and version
Dev name
"HELLO!" text on startup
E-Mail, website and version
Click to expand...
Click to collapse
Instructions
1. Download StudioAndroid as instructed in post #1
2. Run it as instructed in post #1
3. Click Options > Toggle Omega
Done​​
Click to expand...
Click to collapse
edit: out of date
KeitIG said:
Ok, i reserved this post for my translation
Click to expand...
Click to collapse
Good one!
I'll link already to the post xD
Could you add this piece of text to the top of your post?
Looks official
HTML:
[CENTER][IMG]http://www.mupload.nl/img/s81uiuto3.png[/IMG][/CENTER]
I'm getting errors using Cygwinn on Windows to execute your scripts, mainly with variables ><
I'm going to execute it with VirtualBox
KeitIG said:
I'm getting errors using Cygwinn on Windows to execute your scripts, mainly with variables ><
I'm going to execute it with VirtualBox
Click to expand...
Click to collapse
That would be possible indeed.
I think I am going to investigate a bit in Cygwin to make it compatible.
When using VirtualBox, use Ubuntu 10.04 LTS (64-bit preffered!)
Greets!
Add: could you post the errors or PM them to me??
Greets!
HELP​
What does your script do?
Well, look at the screenshot! And then look at the explanation below.
Update
Check ONLINE for updates!
Utils
Install Utilities
You are now able to install ADB, APKTOOL, AAPT, 7z, (bak)smali and a lot more seperately or together. This makes it easier for you to use them!
Resize pictures
Seems clear enough. It resizes pictures for you, theme conversion is easy!
Now also includes a small manual..
Batch Theme
This places a color layer over an image.
You can theme 1000 images in 4.31 seconds (I timed it).
Please note that if the current color is red and you want purple, you are not gonna add purple to it, but blue!
CopieFrom
It copies images that are in Directory A FROM Directory B.
Example: A contains 1 2 3 4 5, B contains 2 3 5 6 7 9 8
2 3 and 5 get copied over. Handy for theme porting!
Optimize Images
After selecting Extract APK, you can optimize images so they look better.
Click to expand...
Click to collapse
Develop
Install SDK
Installs the Android Software Development Kit.
You can run Virtual Machines with Android with it, and create APPS.
Install JDK
Installs the Java Development Kit.
You can develop in java and for Android with it.
Prepare Building
A lot of things should be installed before you can build your ROM from source.
This option does that for you, you don't have to do anything yourself again
Build from Source!
You can build a ROM from online sources with it! ALl you need is in it, but for any help you can always PM me!
Build Kernel
BETA!
You can sync the kernel sources with it. THAT'S IT FOR NOW!
Switch BUILD-Mode
Unfortunately, every device has its own sources to build a ROM or Kernel with.
I made this tool to be able to switch from devices
If your device is not (yet) included, then use option "Include".
Click to expand...
Click to collapse
APK​
Compile APK
The way Android reads the files inside an APK is not the way we do.
Compiling transforms our files into Android files. That's the only way I can explain...
Decompile APK
Undo compile, so we can edit code.
Extract APK
Leave everything intact, but extract. You will not be able to edit anything other then images!
Sign
Every APK needs a signature to verify the Permissions and files in the APK.
This tool does that for you
You can now also choose the Key
Install APK
Install it on your device via USB without a popup.
Zipalign
Aligns the APK. That makes it faster
Click to expand...
Click to collapse
Advanced
Baksmali
This allows you to "decompile" the classes.dex file in the APK so you can edit the code of your APK!
Smali
After you edited code, you need to "compile" again. Using this!
De-Odex
WIth system APKs, the smali files are not inside the APK, but outside. Inside an ODEX file.
De-odex includes the files inside the APK, so that it it needs less space
Warning: ODEX apps can be imported in dalvik straight.
DE-ODEXED apps don't. So De-Odexed is a bit slower...
Click to expand...
Click to collapse
Aroma​
I am working on this.
Many features will be added, but for now it's just a few options.
Click to expand...
Click to collapse
So, I dont need to download the sources when building from source?
dhruv.always said:
So, I dont need to download the sources when building from source?
Click to expand...
Click to collapse
The script does it for you.
Further explanation: building from source option actually just syncs the source. I think I even forgot to sync the device and vendor too, I'll check on it.
complete .zip file uploaded with AC and ACI translated. There should be some mistakes but i'll correct them when there will be a new release
(cf my post)
KeitIG said:
complete .zip file uploaded with AC and ACI translated. There should be some mistakes but i'll correct them when there will be a new release
(cf my post)
Click to expand...
Click to collapse
Thanks for that
I had an idea: could you add an option in the menu to add manualy a source location ?
When sources are downloaded, where can we found them to edit them ?
And will this script be only for optimus one or for other devices ?
KeitIG said:
I had an idea: could you add an option in the menu to add manualy a source location ?
When sources are downloaded, where can we found them to edit them ?
And will this script be only for optimus one or for other devices ?
Click to expand...
Click to collapse
1 there is, use option 1 in the Build menu (Other)
EDIT: whoops, there isn't... I think I'll change to the home directory.
2 you can find them in your Android Central folder /WORKING_DIR_x
x is the number of the option you chose to fetch it.
3 It already is for other devices, use the Other option
Greets!
Updated
###v0.12
[^] Implemented BuildKernel
[^] French translation by KeitG - THANKS!
[^] Some small code improvements. Visual changes to the MAIN MENU
[^] Added switches and commands. example: "./AC [menu option]" to go to that option DIRECTLY. "./AC -h" to go to the HELP page
[^] SubDirs now supported in Resize (example: drawable-hdpi gets copied over)
[^] BetaInstaller inside ACI script
[^] Every output will now be visible inside LOG!
[^] Implemented CASE options, more clean. Implemented InvalidOption.
[^] Utils.zip is now less then HALF the previous size
Click to expand...
Click to collapse
any suggestions are REALLY appreciated!
Thanks @kssood for suggesting awesome things!
thanks @ta for the idea of kernel building (although is still much work to do!)
I Figured out people like previews...
Do you?
BuildKernel mean it will download kernel source? and then we can build kernel or it's diff? Sorry for bad english
cips gokhle said:
BuildKernel mean it will download kernel source? and then we can build kernel or it's diff? Sorry for bad english
Click to expand...
Click to collapse
Build kernel is exactly as it says. You can build a kernel from a source.
I included Arjen, Arjen 3.0, thunderVN, Cyanogenmod and stock Android.
But t's still beta!
Greets!
mDroidd said:
Build kernel is exactly as it says. You can build a kernel from a source.
I included Arjen, Arjen 3.0, thunderVN, Cyanogenmod and stock Android.
But t's still beta!
Greets!
Click to expand...
Click to collapse
got it thanks and can you add franco source

[GUIDE] ICS Style 'Settings.apk' - Make it yourself !! !!

{
"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"
}
Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!
My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
He hasn't come up with a guide because he doesn't have time . (I think so!)
If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.
Pre-requisites:
-7zip
-Notepad++
This guide helps you to mod your settings' main screen only. If you want mod even other screens, then you need to read - why this/that step is done.
If you want to know 'Why is this/that step done?' , then read the post completely !!
I'll start from the basics.
Starting with basics:
1. Decompile your Settings.apk with 'apktool' (or) Apk Multi-tool (or) anything like that of your comfort !
Why is this/that step done?: It is done in order to decode .xml files the apk.
I decompiled with apktool.
2. Now navigate to Decompiled_Folder\res\values
3. There, open 'strings.xml' with notepad++
4. Go to the very end of the file, there above </resources>, add the following:
Code:
<string name="location_settings_title">Location service</string>
<string name="settings_ics_system">SYSTEM</string>
<string name="settings_ics_radio">WIRELESS & NETWORKS</string>
<string name="settings_radio_more">More...</string>
<string name="settings_ics_device">DEVICE</string>
<string name="settings_ics_personal">PERSONAL</string>
<string name="settings_ics_system_cap">SYSTEM</string>
<string name="power_usage_summary_text">Battery</string>
It should look like this:
Now save the file and close it.
Why is this/that step done?: This is for the 'text' that appear at different places. For example:
5. Now navigate to decompiled_folder\res\xml\
6. There open 'settings.xml' with notepad++
Any phone's user can follow upto this blindly, but from here you should do similar things for your phone.
HTC users, read this
7. Your 'settings.xml' will look like this (may not be exact)(this is my modded settings.xml - i'll explain what i have modded):
Now i have separated different 'things'/tags with an empty line between them, so that you won't get confused:
Here, i will explain every different 'things'/tags with only one example, other things, you yourself will have try because others will be similar to what i explain.
Preference screen:
From the above picture, i am taking only the circled (can't 'define' its radius lol ).
Now lets zoom it:
On reading it, you yourself can understand that:
---android:title="@string/wifi_quick_toggle_tittle" refers to a TEXT registered under the string name "wifi_quick_toggle_tittle" in the 'strings.xml'.
Now check in your 'strings.xml', which is located at res/values/, by searching for "wifi_quick_toggle_tittle". There you will find this line/line similar to this:
Code:
<string name="wifi_quick_toggle_title">Wi-Fi</string>
You can very well understand that the TEXT between the tags here(in strings.xml) will appear on the screen !!
---settings:icon="@drawable/ic_settings_wireless"> refers to the icon located at res/drawable-ldpi (or) res/drawable-xxxx(that of your phone).
You can leave other things as it is but except for android:targetClass="com.android.settings.wifi.WifiSettings". This is because according to this only, you are directed to another screen on selecting it !!
Here, i need to go to Wi-Fi settings on selecting it directly from the main screen. So i need to change it.
To change, i opened res/xml/wireless_settings.xml
There, like what we have seen earlier, many preference screens will be defined. There i found the preference screen of Wi-Fi settings
I copied the android:targetClass="xxxxxxxxxxxx"(something given there) to Settings.xml file.
If you want to do it for Bluetooth, then copy any of the preference screen completely [from <com.android.settings...... to </com.android.settings.IconPreferenceScreen>
Then make changes in the title , icon, and target classs.
Not yet over, last thing:
Adding custom categories like Device, Personal, System etc.
It is this line that makes it:
Place it anywhere above (or) in-between any two preference screens !!
Code:
<PreferenceCategory android:title="@string/settings_ics_radio" />
About icons, I'll tell after re-compiling.
8. Re-Compiling it:
After making all necessary changes and saving the 'xml' files, re-compile (or) build the apk. You should not get any error.
9. After building it, you'll find the new 'Settings.apk' in decompiled_folder/dist. Do NOT use it.
Now Go the folder where you have ORIGINAL/STOCK Settings.apk. Now simply extract it to any folder, say "settings-new", using 7zip.
8. Now go to decompiled_folder/build/apk
From there copy the 'resources.arsc' file and paste it in "Settings-new" folder. Replace it.
9. Now again, go to decompiled_folder/build/apk/res/xml. There copy 'settings.xml'
Paste it in Settings-new/res/xml folder. Replace if asked.
10. ICONS:
After downloading the icons.zip, you'll find the icons in 'drawable-ldpi' folder. Copy everything and paste it in Settings-new/res/drawable-xxxx (that of your phone). [If you do not know what is that 'xxxx' for your phone, then paste it in every 'drawable-ldpi/mdpi' folder]
Replace if asked.
11. Now come back and open "Settings-new" folder. You'll find 6 objects there, including folders. Now select them all --> "7zip" --> "Add to archive...". There, select 'Archive format as 'zip'and 'compression level' as 'Store' and then select 'ok'.
12.Now rename the newly formed 'xxxx.zip' file to 'xxxx.apk'.
Before copying to system/app rename it to Settings.apk instead some xxxx.apk !!
Now your apk is ready to be put in system/app !!
If you have completed everything and would like to distribute it, then download the 'Pre-scripted-update.zip' from attachments.
Open the archive with 7zip (no need to extract) go to system/app. Just drag and drop your modded 'Settings.apk'.
Thats all !! Close it and flash it via recovery !!
Thats all....i believe........still can refine it.......!
Icons-uploaded........!!
If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.
If you like this thread, the hit THANKS !!
thanks for this guide i'm searching from 5 days to but i can't find.
You're welcome !!
again good work bro....nice tut... u r going great man! cheers!!!!
Thank you :d
great guide and keep up the good work
Thanks everyone !!
nice, this is my first walk maybe if i want to be a dev
looking forward for the icons
Thanks it's a nice tut.
EDIT :::: saw what i did wrong XD
now working correctly
spacecaker said:
hmm
i get
C:\Users\robin\Downloads\ICS_Settings_Froyo_v1\system\app>cd\Users\RoBiN-b
ArRy\Music
C:\Users\robin\Music>apktool d C:\Users\robin\Music\Settings.apk
I: Baksmaling...
testI: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\robin\apktool\framework\1.ap
k
I: Loaded.
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\robin\apktool\framework\2.ap
k
I: Loaded.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
C:\Users\robin\Music>apktool b C:\Users\robin\Music\Settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
C:\Users\robin\Music\Settings\res\values\styles.xml:59: error: Error retri
eving parent for item: No resource found that matches the given name '@android:s
tyle/Widget.TextView.ListSeparator'.
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\ROBIN-~1\AppData\Local\Tem
p\APKTOOL6269797135419968898.tmp, -I, C:\Users\robin\apktool\framework\1.a
pk, -I, C:\Users\robin\apktool\framework\2.apk, -S, C:\Users\robin\M
usic\Settings\res, -M, C:\Users\robin\Music\Settings\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\robin-~1\AppData\Local\Temp\APKTOOL6269797135419968898.tmp, -I, C:\Users\robin\apktool\framework\1.apk, -I, C:\Users\robin\apktool\framework\2.
apk, -S, C:\Users\robin\Music\Settings\res, -M, C:\Users\robin\Music
\Settings\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
C:\Users\robin\Music>
its really annoying
ive tried to update
java
apktool
aapt
exe
can u help me ?
i will attache my framewok-res.apk
twframework-res.apk
and settings.apk
1.apk = framework-res.apk
2.apk = twframework-res.apk
settings.apk
thank you any ways
even for trying it
thank you
Click to expand...
Click to collapse
did you install your framework apk?
Perry977 said:
did you install your framework apk?
Click to expand...
Click to collapse
Yes ive installed everything
Ive got this prob most of the times with settings apk and camera
i am spacecaker
aint a grill
First, Try re-compiling it without any changes.............
Even when doing that, if you get that error, then you won't be able to compile it even after modding.....
so follow this:
Download my ICS Settings for FROYO (without unlock settings) from my signature.
Try decompiling and recompiling it (install both frameworks fr0m attachments). You should not get any error......
Now go to the folder where you've decomiled your settings.apk. There, after making necessary changes in the xml files(strings.xml & settings.xml) and saving them:
1. copy ALL files under res/values of YOUR decompiled settings folder and replace them in that of mine.
2. Similarly, now copy & replace settings.xml from your folder in mine.
Now compile MY settings folder.
You should not get any error.
After compilation, copy resources.arsc from build/apk of MY folder.
2. Extract (not decompile) YOUR stock settings.apk. Paste & replace resources.arsc there.
Like wise replace settings.xml from build/apk/res/xml of my folder.
Also place/replace icons like that.
Now make a zip of all the contents (in the folder where you EXTRACTED) as said in first post.
Now your apk is ready.....try n reply !!!
Brilliant.
Sent from my U8160 using xda premium
wow very helpful for me thanks
balamu96m said:
First, Try re-compiling it without any changes.............
Even when doing that, if you get that error, then you won't be able to compile it even after modding.....
so follow this:
Download my ICS Settings for FROYO (without unlock settings) from my signature.
Try decompiling and recompiling it (install both frameworks fr0m attachments). You should not get any error......
Now go to the folder where you've decomiled your settings.apk. There, after making necessary changes in the xml files(strings.xml & settings.xml) and saving them:
1. copy ALL files under res/values of YOUR decompiled settings folder and replace them in that of mine.
2. Similarly, now copy & replace settings.xml from your folder in mine.
Now compile MY settings folder.
You should not get any error.
After compilation, copy resources.arsc from build/apk of MY folder.
2. Extract (not decompile) YOUR stock settings.apk. Paste & replace resources.arsc there.
Like wise replace settings.xml from build/apk/res/xml of my folder.
Also place/replace icons like that.
Now make a zip of all the contents (in the folder where you EXTRACTED) as said in first post.
Now your apk is ready.....try n reply !!!
Click to expand...
Click to collapse
nope still not working
my pc is just **** -_-
ive updated apktool etc
ive downgraded it
etc
and still not working
( Galaxy ace + GB )
spacecaker said:
nope still not working
my pc is just **** -_-
ive updated apktool etc
ive downgraded it
etc
and still not working
( Galaxy ace + GB )
Click to expand...
Click to collapse
what is not working ??
even compiling my settings.apk doesn't work ??
balamu96m said:
what is not working ??
even compiling my settings.apk doesn't work ??
Click to expand...
Click to collapse
Yes
I think my pc is mad at me -_-
I can only decompile framework res apk and some other apps but those not
herpderp © aint got money to pay to my fish
spacecaker said:
Yes
I think my pc is mad at me -_-
I can only decompile framework res apk and some other apps but those not
herpderp © aint got money to pay to my fish
Click to expand...
Click to collapse
one thing that u can try is, download all apktool files again (.jar file, aapt and the script) and place it in a new location in the root of your windows drive (mostly C:\)......and also try deleting the folder apktool under C:\users\*username*\
balamu96m said:
one thing that u can try is, download all apktool files again (.jar file, aapt and the script) and place it in a new location in the root of your windows drive (mostly C:\)......and also try deleting the folder apktool under C:\users\*username*\
Click to expand...
Click to collapse
Did that
Ivetried to find solutions
But i think i need to buy better pc
herpderp © aint got money to pay to my fish

HOW TO Decompile/Recompile /edit smali ICS

I promised id make this so here it goes
Download Wanams Apk Manager
http://forum.xda-developers.com/showpost.php?p=23935070&postcount=14
and Win rar
A few notes..
when doing smali edits .. dont do them at the same time as xmls or pngs
Whe doing jar files and classes.dex i use
AutoAPKTool2.0.4
(or just smali baksmali in command
if enough people want this i will include it )
Lets Use a Deodexed ICS SystemUi.apk
Code:
[center]
-Place systemui.apk in place-apk-here-for-modding
-then run script.bat in apk manager root folder
-now select your project .. (option 22)
and then option 1 for systemui.apk
and hit enter
now press option 9 (decompile)
it should run a few lines then complete...
Now go into the folder titled projects and find your systemui folder
lets just use one file for example we will call it default_wallpaper.png
you would place this in res/drawable hdpi/default_wallpaper.png
replacing what is already there
now go back to the script and this time select option 11 (compile)
as long as you didnt mess up any .9pngs or include any extra unidentified pictures it will compile without errors ( if you encounter errors its something you did check the logs.txt)
so now the program will ask you is this a system file
say yes
next it will ask you if you want to make a copy of everything in a keep folder
to ensure everything works right.... now there are three options
If you edited pictures say yes
if you edited xml files say yes
if you edited smali files say no and skip to finalizing with win rar down below
so youve said yes bc you only made picture edits
sp now go into apkmanager folder called keep
and navigate back to res/drawable hdpi/default_wallpaper.png and delete it
and also:::::: only if you decided to edit any xml files.....
make sure you delete resources.src at this point
now go back to your script ... since it should say hit enter to continue..
hit enter
[/center]
FINALIZING THE FILE WITH WINRAR
Code:
Now navigate back to place apk here for modding
and find unsignedsystemui.apk
double click it and open it with winrar
extract the contents
now navigate to the newly extracted unsignedsystemui folder
highlight everything and right click
say add to archive
rename it SystemUI.apk
set it as a zip (but rename zip extension to apk)
and set it to store
hit ok and Voila You have a newly edited and resigned Apk file
[/center]
​
If You want to change Bat%Icon in status bar! This is how you can do it! Follow the guide step by step and you will be done within minutes!
http://forum.xda-developers.com/showthread.php?t=1434061
I didn't wanted to write so here I just got it from xda user so thnx to him.
For only .pngs!
Andrewtst said:
Changing/Replacing the .png file inside .apk
Amending normal .png no need to de-compile, just extract the file and modified using any photoshop tools or simply replace the .png
Just right click any .apk file and select 7-zip extract to, as seen below:
{
"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"
}
Now go to the extracted folder and amend / replace any .png file you like to replace. (Remember .9.png file cannot just simply replace, check following post for instruction.)
Click to expand...
Click to collapse
This is how to work with .9pngs!
Andrewtst said:
Modifying tricky .9.png file.
The .9.png cannot just simply amend using any photoshop and put back, because by doing so, either the amend .9.png won't appear or just simply give you FC in your phone when running it.
What to do:
De-compile the .apk.
Below showing the different between before and after de-compile of .9.png, as you can seen on right image,they is extra 4 black dot + 1 black bar and surrouding with transparent bar, all this area must be keep and not amend during photoshop. The de-compile image will auto increase 1 x pixel + 1 y Pixel.
Just amend without touching those area, save it and then put back to correct folder and compile back.
Click to expand...
Click to collapse
And This is how u can do XML!
Andrewtst said:
Modifying .xml file
After you have de-compile the .apk, now all inside .xml is readable where you can make some changes on the color selection, clock position and etc. by just simply open with notepad and modified.
Before de-compile, the .xml look like below which is not readable and understand by human.
After de-compile, now the .xml is readable and understand by human.
Now you can amend what ever you like, Google/Search XDA forum for which .XML to amend.
Use this color code checker site for getting your desire color code.
After done, don't forget, you must compile back the .xml before it is understandable by Android OS.
Screenshot below showing modifying the sub text .xml to ICS blue color.
Change all
Code:
from android:color="#ffffffff to [B]android:color="#ff3f9bbf[/B]
at zzz_tw_secondary_text_sub.xml
Click to expand...
Click to collapse
i will share anything ive learned
Also have a great setup here. With special tools for frame rrs and systemui
And this for editing colors.xml which makes life so much easier
Color edit tool can be found here http://forum.xda-developers.com/showthread.php?t=1348613
Its for editing colors.xml in decompiled framework-res
Dont have to enter hex. Just click and select color
And an fyi. U also need twframework-res installed to decompile Mms.apk properly.
And if u want to edit .9pngs u need photoshop or paint.net.
Zoom in 800 percent so u can see the 1 pixel border.
Do not touch the border pixels. Use rectangle select.
And cut whats inside the border.
Open new. Paste and do ur changes
Then merge the edited cut layer back inside the border.
Or look up how to use draw9patch. In the sdk tools. But its not nearly as simple.
You will also need notepad ++ to edit xml's and updater scripts. A simple text editor/notepad will corrupt them
Thanks a lot guys!
If you can't beat em, join em
Silver and Sean, thank you both :thumbup:
Sent from my SAMSUNG-SGH-I727 using Tapatalk 2
I can't decompile systemui....I can decompile framework and twframework but if in try to decompile systemui all I see is a smali folder. I've been trying to use apktool succesfully for three weeks now and no success. I have all the newest sdk items and Java etc.......I want to build custom rooms but its getting frustrating. I've uninstalled sdk and reinstalled everything and still no go. Don't know what I'm doing wrong....
Sent from my GT-P7510 using xda premium
i can decompile and compile systemui without errors i cant deodex it though and when changing a few png's and putting the new complied systemui on the phone i lose the notification bar
--------------------------------------------------------------------------
|Sun 04/22/2012 -- 21:11:35.44|
--------------------------------------------------------------------------
'mode' is not recognized as an internal or external command,
operable program or batch file.
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
Could Not Find C:\Users\sean boren\Desktop\ROMMING\Apk_Manager_ICS\place-apk-her
e-for-modding\../place-apk-here-for-modding/signedSystemUI.apk
Could Not Find C:\Users\sean boren\Desktop\ROMMING\Apk_Manager_ICS\place-apk-her
e-for-modding\../place-apk-here-for-modding/unsignedSystemUI.apk
I: Baksmaling...
Exception in thread "main" org.jf.dexlib.Util.ExceptionWithContext: Unknown opco
de: ff
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.dexlib.DexFile.<init>(DexFile.java:267)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:44)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:33)
at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:68)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:85)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
Caused by: java.lang.RuntimeException: Unknown opcode: ff
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:51)
... 12 more
Error occured at code address 2184
code_item @0x3bf94
Press any key to continue . . .
or if i try just plain ol apktool...........
C:\Android>apktool if SystemUI.apk
I: Framework installed to: C:\Users\sean boren\apktool\framework\127.apk
C:\Android>apktool d SystemUI.apk
I: Baksmaling...
testI: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\sean boren\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
W: Cant find 9patch chunk in file: "drawable-hdpi/tw_btn_default_small_normal.9.
png". Renaming it to *.png.
W: Cant find 9patch chunk in file: "drawable-hdpi/tw_plmn_bg.9.png". Renaming it
to *.png.
W: Cant find 9patch chunk in file: "drawable-hdpi/tw_quickpanel_title_background
.9.png". Renaming it to *.png.
W: Cant find 9patch chunk in file: "drawable-hdpi/tw_btn_default_small_normal_di
sable.9.png". Renaming it to *.png.
W: Cant find 9patch chunk in file: "drawable-hdpi/tw_status_bar_close_on.9.png".
Renaming it to *.png.
W: Cant find 9patch chunk in file: "drawable-hdpi/status_bar_close_on.9.png". Re
naming it to *.png.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
C:\Android>
any help?
---------- Post added at 03:22 AM ---------- Previous post was at 03:14 AM ----------
and this is the recompile.......
C:\Android>apktool b SystemUI
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
invalid resource directory name: C:\Android\SystemUI\res/drawable-sw600dp-hdpi
invalid resource directory name: C:\Android\SystemUI\res/layout-sw600dp
invalid resource directory name: C:\Android\SystemUI\res/layout-sw800dp
invalid resource directory name: C:\Android\SystemUI\res/values-sw600dp
invalid resource directory name: C:\Android\SystemUI\res/values-sw600dp-port
invalid resource directory name: C:\Android\SystemUI\res/values-sw720dp
invalid resource directory name: C:\Android\SystemUI\res/values-sw720dp-port
invalid resource directory name: C:\Android\SystemUI\res/values-sw800dp
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\SEANBO~1\AppData\Local\Tem
p\APKTOOL6504191100815924378.tmp, -I, C:\Users\sean boren\apktool\framework\1.ap
k, -S, C:\Android\SystemUI\res, -M, C:\Android\SystemUI\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\SEANBO~1\AppData\Local\Temp\APKTOOL6504191100815924378.tmp, -I, C:\Users\se
an boren\apktool\framework\1.apk, -S, C:\Android\SystemUI\res, -M, C:\Android\Sy
stemUI\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
C:\Android>
Those would be errors from .9pngs what were not edited properly on the decompile. And either same on recompile. Or xml errors.
Do u have the new aapt from the new sdk is also what i would make sure of .
---------- Post added at 01:46 AM ---------- Previous post was at 01:42 AM ----------
Also do apktool b -f SystemUI when u recompile
---------- Post added at 01:47 AM ---------- Previous post was at 01:46 AM ----------
And systemui/res\values doesnt look right
Systemui/res/values
Somethin funy going on with the /\ not a valid directory. / /
silver03wrx said:
Those would be errors from .9pngs what were not edited properly on the decompile. And either same on recompile. Or xml errors.
Do u have the new aapt from the new sdk is also what i would make sure of .
---------- Post added at 01:46 AM ---------- Previous post was at 01:42 AM ----------
Also do apktool b -f SystemUI when u recompile
---------- Post added at 01:47 AM ---------- Previous post was at 01:46 AM ----------
And systemui/res\values doesnt look right
Systemui/res/values
Somethin funy going on with the /\ not a valid directory. / /
Click to expand...
Click to collapse
I have all the updated stuff and tried wanam's . Like I said I completely uninstalled and reinstalled the sdk and apktool files.
I've tried apktool b SystemUI.API, apktool -f........., but it won't matter if I can't decompile correctly right?
All of this is from the ROM I'm using(appdroids) and I've also tried to do a stock from with the same results.
I've put everything in my C:\ directory like every tutorial I've watched or read said to do. That's why I can't understand what I'm doing wrong.
I also have Ubuntu dual booted on my computer and still can't get it to work.
I really wanna figure this stuff out because I would love to start a ROM of my own.
Sent from my GT-P7510 using xda premium
Gots team viewer?
silver03wrx said:
Those would be errors from .9pngs what were not edited properly on the decompile. And either same on recompile. Or xml errors.
Do u have the new aapt from the new sdk is also what i would make sure of .
---------- Post added at 01:46 AM ---------- Previous post was at 01:42 AM ----------
Also do apktool b -f SystemUI when u recompile
---------- Post added at 01:47 AM ---------- Previous post was at 01:46 AM ----------
And systemui/res\values doesnt look right
Systemui/res/values
Somethin funy going on with the /\ not a valid directory. / /
Click to expand...
Click to collapse
The funny \ in the dir name is from not putting the new aapt into autoapktool dir.... I was getting that on recompile
Sent from my SAMSUNG-SGH-I727 using Tapatalk
silver03wrx said:
Gots team viewer?
Click to expand...
Click to collapse
No but it won't be hard to get
Sent from my GT-P7510 using xda premium
silver03wrx said:
Those would be errors from .9pngs what were not edited properly on the decompile. And either same on recompile. Or xml errors.
Do u have the new aapt from the new sdk is also what i would make sure of .
---------- Post added at 01:46 AM ---------- Previous post was at 01:42 AM ----------
Also do apktool b -f SystemUI when u recompile
---------- Post added at 01:47 AM ---------- Previous post was at 01:46 AM ----------
And systemui/res\values doesnt look right
Systemui/res/values
Somethin funy going on with the /\ not a valid directory. / /
Click to expand...
Click to collapse
Thanks for this. I'm trying to learn. I'm stuck tho. I decompiled my framework-Res.apk I made changes and rran compile script.
Now I have a file called singedframework-Res.apk
Please tell me what to do next so its ready to go back into the phone.Thank You
Sent from my SAMSUNG-SGH-T989 using xda premium
Can anyone help?
Sent from my GT-P7510 using xda premium
slambkny said:
Thanks for this. I'm trying to learn. I'm stuck tho. I decompiled my framework-Res.apk I made changes and rran compile script.
Now I have a file called singedframework-Res.apk
Please tell me what to do next so its ready to go back into the phone.Thank You
Sent from my SAMSUNG-SGH-T989 using xda premium
Click to expand...
Click to collapse
pretty sure you don't want to sign system apks. If you're useing the Autoapktool sean posted here, then after you choose option 11 to compile, it will ask you if it is a system app. you say yes. It will ask if you about using other files you did not edit, you say yes. It will generate a folder called "keep." Go to the keep folder and delete every file you edited and leave everything else. If you made any xml edits, then delete resources.arsc too. Then go back to the prompt and hit enter. It will create an unsigned apk.
Now, I dunno if this is necessary if you made sure to set compression level to zero but sean recommended this and it's worked for me. You right click on the new unsigned apk, and extract it with 7zip. Go into the extracted directory. Highlight everything and right-click > Add to Archives. In the winrar window that comes up select zip, change compression method to "Store", remove the "unsigned" part of the file name and change the end of it from zip to apk. Done.
roughneckboren - I was having a similar issue when I was trying to decompile Systemui.apk's from the UCALC4 roms as well. I have no clue if this will help you, but what worked for me was saving the apktool.jar from the folder downloaded from Wanam to another name (I used apktool.jar.bak) and then copied the apktool.jar from apktool 1.4.2 and dropped it into the folder. At that point I was able to decompile the SystemUI.apk and modify it however I wanted. When finished, and before compiling, I just renamed the apktool.jar from 1.4.2 and named the original from Wanam back.
This only happened to me on UCALC4 roms and I haven't had a single issue with the UCLD2 roms that I have edited. Again, I have no clue if this is going to help you but it is what worked for me so I figured there is no harm in at least mentioning it...
Hope you get it figured out, or have already. Good luck! Also, thanks to Sean, Silver and the rest of everyone else here on the forums for getting this information out to everyone!
Hey im actually having this problem here using your manager.
--------------------------------------------------------------------------
|Thu 04/26/2012 -- 10:50:25.59|
--------------------------------------------------------------------------
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
Could Not Find C:\Users\Toria\Documents\Arc\Apk_Manager_ICS\place-apk-here-for-modding\../place-apk-here-for-modding/signedSystemUI.apk
Could Not Find C:\Users\Toria\Documents\Arc\Apk_Manager_ICS\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSystemUI.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\Toria\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x010806fe
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108073e
I: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x010a010b
at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:59)
at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResReferenceValue.java:46)
at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlValue(ResScalarValue.java:54)
at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:56)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:264)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
Im actually trying to edit an xperia arc arconium ics systemui.apk which is deoxed.
Hi,
i tried to follow the tutorial ( got an normal SII XD )
But the problem ist ...if i use apktool or apkmanager: I never get a smali folder.
I try to edit camera.apk (
Pls tell me what i'm doing wrong
Thank you

[IDE] ROMS][Windows] Poison Kitchen IDE [Dev Preview 2][2.3-8.1]

Poison Kitchen IDE
Development preview
{
"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"
}
​
Description
A powerful IDE for android ROM development
Runs native on WINDOWS, MacOS themed.
Its powered by my XanderUI class library for the .net framework
Currently Development preview builds are only available, meaning things may be broken, behave incorrectly or other
Click to expand...
Click to collapse
Features
-Full GUI coded in C# for fast runtime
-XanderUI based controls(My C# class library)
-Based on .net 4.5
-Support for every single android version
-Unpack rom from (.zip, .tar, .md5, .img, aml_upgrade_package)
-Pull all required files from device(root needed to copy kernel block)
-Adb, fastboot and drivers installater
-ROM information
-Explorer
-Deodexing(4.4.4 and lower ATM)
-Unpacking the kernel
-Converting file_contexts.bin to standard text
-Kernel explorer
-Repacking kernel
-Logging
-Auto-generating updater-script
-Use generic symlinks if files detected
-Use generic file contets if the kernel does not contain file_contexts
-/data/app auto transition to new rom(somewhat working)
-Wipe data excluding /data/media(/sdcard path)
-Auto kernel block detection
-Auto mounting /system and /data
-Packing rom
-Signing rom
-Updater-script editor
-Extansion support
-Emulated exension scripts(applied via C#)
-Degapps extension
-Deknox extension
-Custom emoji extension
-Enable sony apps extension
Click to expand...
Click to collapse
Features not yet implemented
-root via magisk(systemless) and superSU(standard)
-init.d
-deodexing 5.0 and up
-adbd insecure
-init.d tweaks
-build.prop tweaks
-change display I.D
-add sysrw/ro binary
-logging needs tweaking
-loading rom information updated in the background
-Unpacking RUU as project(HTC)
-Unpacking TFT as project(SONY)
-Unpacking system.dat(sparse)
-Setting your actual device as the project and apply changes in realtime
-/data/app auto transition to new rom
-Kernel may not unpack
-Convert line endings in explorer context menu
-Inbuilt file editor(with EOL auto-detection)
-Boot animation player/changer
-Auto flash rom with ORS(TWRP)
-Bluestacks as rom
Click to expand...
Click to collapse
Settings
Load settings()
-Set default startup project or startup menu
-Enable/disable logging
-Stop logger from detecting files or folders added, deleted, changed or moved
Installation settings()
-Change romname
-Change installation type(autodetect on unpack, User generated, Tool generated)
-Change file contexts method(Auto, extracted from kernel, assumed)
-Enable/disable safewipe
-Enable/disable data/app auto transition
-Enable/disable autodetect ernel blockpath(add path below)
Pack settings()
-Change compression level
-Add signing method(pack into presigned, sign on zip, none)
-Change java heapsize
-Exclude files and folders from being packed/detected by IDE
Default program settings()
Change default program to open image files
Change default program to open video files
Change default program to open audio files
Change default program to open prop files
Change default program to open archive files
Change default program to open jar/apk files
Change default program to open other type files
Current version and updates()
Cleanup settings()
Click to expand...
Click to collapse
License
GNU GPL V3
Downloads
Downloads page
XDA:DevDB Information
Poison Kitchen IDE, Tool/Utility for the Android General
Contributors
Ricky Divjakovski
Version Information
Status: Testing
Created 2018-04-19
Last Updated 2018-04-19
Creating extensions and documentation
Code:
Description -
As extensions are a great adittion to the IDE, whats the use if you cant make your own for automated building?
Information you need to know -
The tool looks for the file "extension.info".
In the extension.info file you will specify the extension name, description and the poison shell script file(.psh).
Package the folder containing the extension as a zip archive
------------------------------------------------------------------
Entension index
------------------------------------------------------------------
Sample extension -
https://github.com/Ricky310711/Poison-Kitchen-Extension-Example
extension.info -
Lines will only be read if starting with "Name", "Description" or "Run"
-------------------- code exmpla
# this sets the extension name
Name:Fake optimizer
# this sets the extension description
Description:Do not apply this to rom, its a fake extension to show an example
# this is the poison script to run(must be in same directory)
Run:FakeOpt.psh
------------------------------------------------------------------
Scripting language(.psh file)
------------------------------------------------------------------
Information
-Must be linux EOL(\n)
-Anything but recognised 1st args are ignored
-Any errors will be ignore by the shell
-Use full paths asif you are in the root(/)
Extracting content to rom
---------- code example
EXTRACT|myFolder
1st arg states we are extracting(copying) a folder to the rom
2nd arg is the folder to extract(must be in same directory as extansion)
NOTE: This will extract the folder to the root of the rom
Changing a line in a file
---------- code example
CHANGE|START|/system/build.prop|ro.product.device=|THIS IS STARTS TEST
1st arg specifies we are changing a file
2nd arg specifies where on a line to search for the string(arg4)
3rd arg specifies the file to change
4th arg specifies the string to look for
5th arg is what you would like to replace the line with
The second arg can be START, CONTAINS or END
Appending a file
---------- code example
APPEND|TOP|/system/build.prop|# A TEST FOR APPENDING TOP
1st arg specifies we are appending a file
2nd arg specifies if we are appending at the TOP or BOTTOM
3rd are is the file to append
4th arg is the content to append
Remove a line from a file
---------- code example
REMOVE|/system/build.prop|# end fota properties
1st arg states we are removing a line from a file
2nd arg specifies the file
3rd arg is the string to look for in the line
Delete a file or folder
---------- code example
DELETE|/system/preinstall
Pretty straight forward, will delete a file or folder called "preinstall" from /system/
Create a file or folder
---------- code example
CREATE|DIRECTORY|/preinstall
arg 1 states we are creating something
arg 2 specifies if a FILE or FOLDER
arg 3 is the file or folder to create
Rename a file or folder
---------- code example
RENAME|/system/bin/am|amRenamed
1st arg specifies we are renaming a file or folder
2nd arg is the file or folder
3rd arg is the new name
Changelog
Development preview 2
-Added pull rom from device in setup
-Smoother nvigation
-XanderUI 1.6.0 integration
-Message boxes are now themed like the app
-Extensions now show progress upon running
-Deodexing up to Android 4.4.4 implemented
Development preview 1
-initial release
reserved3
supports all versions of android and all devices, no manual input needed.
dev preview 3 possibly tommorow
Yay now I can at least try to build my own g6 ROMs. Nice work.
development on hold until the 30th as im on holiday, i have been dedicating little time to this as internet here is extremely slow
Magisk and SU support added aswell as deodexing 5.x > 6.0
Also working on disabling signature verification, adding sysrw(as binary)
hi, im trying out the program, it never completes the extraction, and the progress icon starts at 53% do i need to do anything when trying to start the program.
i haVE TRIed running as administartor and without running as admin.
thanks
Twisted714 said:
hi, im trying out the program, it never completes the extraction, and the progress icon starts at 53% do i need to do anything when trying to start the program.
i haVE TRIed running as administartor and without running as admin.
thanks
Click to expand...
Click to collapse
A dialog will more then likely poppup requesting permission to run imgextractor.exe, be sure to accept that to complete the process
Ricky Divjakovski said:
A dialog will more then likely poppup requesting permission to run imgextractor.exe, be sure to accept that to complete the process
Click to expand...
Click to collapse
i am attaching some pics to what happens.
please advise. thanks
there are a couple more that are insignificant
Twisted714 said:
i am attaching some pics to what happens.
please advise. thanks
there are a couple more that are insignificant
Click to expand...
Click to collapse
Could you please PM me with pics of the firmware your selecting or even a link?
I've gone ahead and tried this. I pointed the app to my system.img (not the fastboot zip) and ended up with "error extracting". Tool looks promising. ROM is available for download here:
http://en.miui.com/download-333.html
I extracted it and used the images/system.img
oreo27 said:
I've gone ahead and tried this. I pointed the app to my system.img (not the fastboot zip) and ended up with "error extracting". Tool looks promising. ROM is available for download here:
http://en.miui.com/download-333.html
I extracted it and used the images/system.img
Click to expand...
Click to collapse
Im going to test now, if the firmware has system.transfer.list, and system.dat, it will not be able to be unpacked until i make a native library or extension to perform the operation as i think it would be extremely stupid for the need to have python installed to run.
The only reason i havent rebuilt smali/baksmali etc is 1. Would take me months, 2. we are modifying a system that relies on java to operate.
in future, hefty operations like unpacking etc, will be coded in ASM/C code for faster operation, Im planning on making the whole project open source to allow changes and fixes submitted by other developers, So if anyones interested let me know and ill upload the source code(Written in C# for the .net 4.5 framework)
Ricky Divjakovski said:
Im going to test now, if the firmware has system.transfer.list, and system.dat, it will not be able to be unpacked until i make a native library or extension to perform the operation as i think it would be extremely stupid for the need to have python installed to run.
The only reason i havent rebuilt smali/baksmali etc is 1. Would take me months, 2. we are modifying a system that relies on java to operate.
in future, hefty operations like unpacking etc, will be coded in ASM/C code for faster operation, Im planning on making the whole project open source to allow changes and fixes submitted by other developers, So if anyones interested let me know and ill upload the source code(Written in C# for the .net 4.5 framework)
Click to expand...
Click to collapse
Not sure if this helps but I've run Imgextractor directly on my system.img with this result:
Code:
Mi-A1-Repository>Imgextractor Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img
ImgExtractor version 1.3.6 <Created by And_PDA (Based on sources ext4_unpacker)>
Extractor for images in EXT2\EXT3\EXT4\YAFFS2\CRAMFS filesystem formats
support SPARSE\SIN\MOTO structure formats
Open image file Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img (size 3221225472 bytes) successfull...
Analize format of file. Please wait...
Found SPARSE FORMAT
Found EXT4 FORMAT
free space in image 188895232 bytes
Extract started. Please wait...
Extract 750 folders and 6306 files successfull
Found 386 symlink files
File stats (uid, gid, permission) save to Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system__statfile.txt
Extract finish success
Press Enter to continue...
oreo27 said:
Not sure if this helps but I've run Imgextractor directly on my system.img with this result:
Code:
Mi-A1-Repository>Imgextractor Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img
ImgExtractor version 1.3.6 <Created by And_PDA (Based on sources ext4_unpacker)>
Extractor for images in EXT2\EXT3\EXT4\YAFFS2\CRAMFS filesystem formats
support SPARSE\SIN\MOTO structure formats
Open image file Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img (size 3221225472 bytes) successfull...
Analize format of file. Please wait...
Found SPARSE FORMAT
Found EXT4 FORMAT
free space in image 188895232 bytes
Extract started. Please wait...
Extract 750 folders and 6306 files successfull
Found 386 symlink files
File stats (uid, gid, permission) save to Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system__statfile.txt
Extract finish success
Press Enter to continue...
Click to expand...
Click to collapse
Found the error, the img file is of a wierd format, as its named system.img, it actually contains files from the root, so within the system.img the the root of the image is actually the root of the device rather then the root of the system partition, its extremely odd but none the less extremely simple to fix
Issue is already fixed and will be included in dev preview 3, that is expected for public release in a day or so with much more additions
Ricky Divjakovski said:
Found the error, the img file is of a wierd format, as its named system.img, it actually contains files from the root, so within the system.img the the root of the image is actually the root of the device rather then the root of the system partition, its extremely odd but none the less extremely simple to fix
Issue is already fixed and will be included in dev preview 3, that is expected for public release in a day or so with much more additions
Click to expand...
Click to collapse
Yeah. I found it odd that the system.img had a /system directory in it. Awesome! Can't wait
Ricky Divjakovski said:
Could you please PM me with pics of the firmware your selecting or even a link?
Click to expand...
Click to collapse
its on mega.
https://mega.nz/#!dCA2mAYS!-GrKWuuTNODaYEbt3LWiw4LJzxkrz5wI3T94mQ4PU90
it is a android 6 to android 7 full update. its installed, but i am trying to learn cobble together a rom. this img is for a zoomtak upro, i have found today an image for the uplus/vplus. it has much more stuff in it.
thanks
Twisted714 said:
its on mega.
https://mega.nz/#!dCA2mAYS!-GrKWuuTNODaYEbt3LWiw4LJzxkrz5wI3T94mQ4PU90
it is a android 6 to android 7 full update. its installed, but i am trying to learn cobble together a rom. this img is for a zoomtak upro, i have found today an image for the uplus/vplus. it has much more stuff in it.
thanks
Click to expand...
Click to collapse
I will check it when i get home, if its an upgrade package, i cannot ad support for it..

[TOOL] APK Editor Studio – Free APK reverse-engineering tool

{
"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"
}
APK Editor Studio
APK Editor Studio is a free open-source APK reverse-engineering tool combining powerful features and the ease of use. It allows you to easily change APK icon, name, images and other Android application resources.
Download: https://qwertycube.com/apk-editor-studio/
Source Code: https://github.com/kefir500/apk-editor-studio
Issue Tracker: https://github.com/kefir500/apk-editor-studio/issues
Features
Icon Editor to easily change Android app icon.
Title Editor to quickly edit Android app title including translations.
Image Editor with an automatic format cross-conversion to replace Android images.
Code Editor with a syntax highlighting for XML, YAML, and Smali.
Android Explorer to manage files on your Android device and take screenshots.
Permission Editor to easily add or remove Android permissions.
Manifest Editor including a handy API level selector.
Resource Inspector to smoothly browse through the conveniently grouped resources.
APK Signer to automatically and painlessly sign APK, out of the box.
APK Optimizer aligning the APK for a reduced RAM consumption.
APK Installer to instantly install application on your devices.
APK Cloner for automatic package renaming and installing multiple app instances.
Supported Platforms
Windows (7 or later)
macOS (10.13 or later)
Linux
Requirements
Java 8 (or later)
Visual C++ Redistributable (Windows)
Screenshots
Great program for replacing and adding assets, changing app version, sdk target or permissions, also changing smali to escape ads loading...etc.
Update: ApkTool.jar 2.4.0. has error, but 2.3.x and 2.4.1 work fine.
Error opening apk file
Error unpacking APK.
java.lang.UnsupportedClassVersionError: brut/apktool/Main : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Exception in thread "main"
alex_a_k said:
java.lang.UnsupportedClassVersionError: brut/apktool/Main : Unsupported major.minor version 52.0
Click to expand...
Click to collapse
As stated in the requirements, you should use Java 8 or later.
Hi
I tried to modify the APK of an app changing its title and icon.
Then I tried to install the modified and recompiled APK but Android installer asks to update the original app and does not install a new 'instance' of the app.
Maybe I'm totally wrong hoping this app (APK Editor Studio) allows to do what I described.
Please, can someone explain if I have some hope in doing what I need using this wonderful APK Editor? Do I have to change some file inside the APK?
Just for information I'm trying to edit the app named 'CoopVoce' (you can find it in the Play Store) in order to be able to have on my phone two different 'profiles' allowing me to manage my GSM-contract and my mother's one (this feature is not allowed in the original app).
Thanx for your support. C87
camilla87 said:
I tried to modify the APK of an app changing its title and icon.
Then I tried to install the modified and recompiled APK but Android installer asks to update the original app and does not install a new 'instance' of the app.
Click to expand...
Click to collapse
Hi,
Application instances have nothing to do with an app name or icon. There is a property called package name which represents a unique identifier of an application. In order to have multiple instances of an Android app, you will have to manually change it (e.g., check out this guide). Since you will need to work with the APK contents, you can still use APK Editor Studio and click File --> Explore Contents.
Also, the ability to easily change Android package name is planned in future releases.
kefir500 said:
Hi,
Application instances have nothing to do with an app name or icon. There is a property called package name which represents a unique identifier of an application. In order to have multiple instances of an Android app, you will have to manually change it (e.g., check out this guide). Since you will need to work with the APK contents, you can still use APK Editor Studio and click File --> Explore Contents.
Also, the ability to easily change Android package name is planned in future releases.
Click to expand...
Click to collapse
kefi500, thank you very much for your support. C87
camilla87 said:
Then I tried to install the modified and recompiled APK but Android installer asks to update the original app and does not install a new 'instance' of the app.
Maybe I'm totally wrong hoping this app (APK Editor Studio) allows to do what I described.
Click to expand...
Click to collapse
It is not possible to reinstall / update modded apk over original unless you have the same key/keystore/password as the author. Author of app made his own, and you could use generic/test keystore (username and password: android) or your own.
Or if you use "Patch Android" in certain-piracy-app to "accept all keys as true" and "enable installing of older version", you could install modded app over original...but you risk to got unstable system.
Or better way - make cloned app (with on exp. App Cloner 2.4.1) of your modded app and install it as "new" app.
Great tool!.
I am no developer but the tools is easy enough to navigate around in Debian.
I would like to use this tool to remove trackers from APK.
The manifest is easy enough to remove them but after I compiling and installing them (with new app name) successfully, when I run Warden from FDroid (another great tool, used to check for trackers, loggers in apps), I am still able to detect the same number of trackers as before I modify in APK Editor Studio.
Can advise how to use this tool to remove those sneaky trackers before compiling them? Is it necessary to decompile the apk to dex files in order to remove them?
cutezi said:
Is it necessary to decompile the apk to dex files in order to remove them?
Click to expand...
Click to collapse
Most likely, yes.
You can turn on decompilation to Smali in Settings → Options → Repacking → Decompile source code.
Methods of removing such trackers and loggers may vary from application to application, so you might have better luck searching for the corresponding information at the thematic posts.
kefir500 said:
Most likely, yes.
You can turn on decompilation to Smali in Settings → Options → Repacking → Decompile source code.
Methods of removing such trackers and loggers may vary from application to application, so you might have better luck searching for the corresponding information at the thematic posts.
Click to expand...
Click to collapse
Thanks for the reply. I will check it out.
Once again, appreciate the tool given.
Hope to see continued updates and guides in future :good:
this application support for decompile apk based kotlin or flutter?
When I try to save app (I change only name and versions) Iv got this error:
I: Using Apktool 2.4.1
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes.dex file...
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes2.dex file...
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes3.dex file...
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes4.dex file...
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes5.dex file...
I: Copying C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0} classes6.dex file...
I: Building resources...
W: invalid resource directory name: C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0}\res navigation
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ja\AppData\Local\Temp\brut_util_Jar_16568988746625612370.tmp, p, --forced-package-id, 127, --min-sdk-version, 22, --target-sdk-version, 27, --version-code, 3404, --version-name, 5.14.2, --no-version-vectors, -F, C:\Users\ja\AppData\Local\Temp\APKTOOL722049331306987534.tmp, -e, C:\Users\ja\AppData\Local\Temp\APKTOOL1489722396562226936.tmp, -0, arsc, -I, C:\Users\ja\AppData\Local\apk-editor-studio\frameworks\1.apk, -S, C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0}\res, -M, C:\Users\ja\AppData\Local\Temp\apk-editor-studio\apk\{cc1c89b6-f187-49a4-b7aa-0e5f50113dd0}\AndroidManifest.xml]
حاولت عمل شهادة لتطبيق ما باستخدام المفتاح الخاص بي ، وعند استخدامه في التطبيق ، يفشل في عمل الشهادة لأنه لم يقرأ تنسيق المفتاح
Hello. Tell me or give a link for instructions on moving (porting, installing) some system applications from android 10 to android 9. In the vastness of the Internet, I probably looked badly, did not find instructions. I want to install the Package Installer from android 10 to android 9.
MirXamer said:
... system applications from android 10 to android 9....
Click to expand...
Click to collapse
First of all, app need to be deodex (single apk file, not base.apk + odex/vdex files).
Most of apps can work if you change Minimum SDK from 29 (Android 10) to 28 (9.0 - Pie) (look at the upper right column Manifest in APK Editor studio).
Now look for AndroidManifest.xml in Files System column and delete
<queries> ... </queries> lines, if any.
Then save apk.
Hello.
Can anyone help for one application for watching TV.
I want after the correct user input name and password , the application does not want to re-enter.
If anyone can help write to me personally.
can this decompile an apk, then help me remove all ads for a specific app then rebuild apk without ads?
if not what can?
Can anyone help, how to change app name and icon displayed inside android auto launcher?
Thanks,
非常感谢

Categories

Resources