[TOOL][Windows] JellyScream Patcher 0.9.0.6 - myTouch 4G Android Development

Made by pepcisko!!! I just wanted to post this here for those of you who have forgotten about the V6 Supercharger!
Original post here! Go hit the thanks button for him!
======================================================================
Contents
Patcher Information - Post 1 (this post)
[*]Simplified Tutorial - Post 2http://forum.xda-developers.com/showpost.php?p=31917581&postcount=2
[*]Download/Changelog - Post 3
======================================================================
----------------------------------------------------------------------------------------------------------------------------------------------
I hate that Zeppelinrox's thread is being cluttered with OT questions about this.. so opening a new thread. Please post any JellyScreamPatcher.exe questions here. Thanks.
----------------------------------------------------------------------------------------------------------------------------------------------
[experimental] Windows tool for patching services.jar for V6 SuperCharger
Opening note: When replying to this post, please do not quote it!!! Or quote selectively.
For each fully quoted reply a puppy will die somewhere in the world. If you love puppies as much as I do, you'll stop quoting long posts.. thank you
----------------------------------------------------------------------------------------------------------------------------------------------
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because your phone bootloops. Please
* do some research if you have any concerns about features included in my utility
* before using it! YOU and only YOU are choosing to make these modifications.
* I'm providing no ETA's, though usually I'm responding PM's in a timely manner ;)
*
* While the tool provides some backup functionality, allowing you to roll back to
* a working system, feel free to create a nandroid backup trying this ;)
*
*/
For downloads and changelog, see Post #2
----------------------------------------------------------------------------------------------------------------------------------------------
Preface:
Many of us V6 Supercharger users have been flashing nightlies nightly and dailies daily, resulting in the need for a patched services.jar almost daily since the automatic web patcher no longer works for Android 4.1.1 Jellybean files, we had to stick with manually patching this files as described in Zep's guide here. Eventually Zep prepared several versions of the Jelly_Scream_Smali_Patcher_Test_x.sh script, which does the job perfectly, but the user still has to get his services.jar, extract the .smali files, put them to the phone, put the script to the phone, run it in the phone's terminal, copy the patched .smali files back to the PC etc. etc. and for many of us, this is time consuming (and difficult for others). Time is money, right?
Currently, this tool is using a ported version of the ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh script for patching.
So... here an automated workflow, which assumes a few things:
you are running a MS Windows operating system (tested on Win7 x64)
you have Java installed. This was tested with Java7, should run fine on Java 6 as well. In the Q&A section below I provide a link to download Java. Make sure that java.exe is accessible from any folder (is in PATH). Java 7 installs the binaries into the windows/system32 folder, so I hope you have that folder in your PATH. If not, just google how to add a folder to the PATH, there are many tutorials on the web.
[optional] you know how to connect your phone to the PC via USB
[optional] you have ADB drivers installed (either via Android SDK or from your phone's manufacturer)
[optional] you know how to enable USB debugging in your phone and did that
[optional] the USB connection mode is NOT "mass storage" (for the online mode) - please set it to "Charge only" or "None" (varies from device to device)
How to patch the services.jar file
The following assumes you have a "stock" (or unchanged) services.jar in your phone's ROM or in my tool's framework subfolder .
Note: The current version should still be considered as beta-release. While it works for me (most of the computer stuff works when I'm near it, my family has been puzzled about this since long ago.. LOL), it may not work for you. Please report any bugs you find (thread, PM) and I'll be happy to fix them. Although I inserted many "hit the Enter" prompts into the tool, it's always good to run the tool from a console so that you can keep the output in case you flash through the workflow too fast
Also, the tool maintains an activity.log file where it flushes messages about what's happening. If you encounter a bug, send me this file. Please do not copy/paste the log contents into the thread!!! Attach it. Or upload to any cloud service and send me the public URL.
Click to expand...
Click to collapse
Tip: When running the tool, feel free to enlarge the command prompt window vertically
Click to expand...
Click to collapse
After running the tool and passing the initial screen, you will be presented with a choice between online and offline mode.
Online mode
Online mode assumes that the phone is connected via USB. In this mode, the tool can pull all the information from the phone. Not only the files, but system variables, as well as some debug info (e.g. is the ROM odexed?)
Connect the phone via USB
Enable connection mode "Charge only" or "None". This won't work, if the phone is in "Mass Storage" mode!
Sit back and enjoy (and don't forget to answer the tool's questions!)
After patching there will be a warm reboot
Offline mode
Offline mode means, that there will be no interaction of the tool with the phone via USB. You need to do all the file transfers and in case of odexed ROMs, the final in-phone patching, manually. Also you will have to enter some other information into the tool manually.
make sure to copy your /system/framework/services.jar to the tool's framework folder. If you have an odexed ROM (e.g. stock), copy the whole /system/framework folder contents to the tool's framework folder.
make sure to know your system's version because the tool will ask for it
make sure to know your BOOTCLASSPATH variable. It can be pulled from the phone using the command
Code:
adb.exe set | grep BOOTCLASSPATH
make sure you know if the ROM is odexed or not
After patching, you will need to transfer the patched files to the phone and perform manual patching/replacement:
Odexed ROM:
For odexed ROMs, there is some more patching required that you can do in the phone.
copy services.jar from the 'dist' folder to the sdcard
copy 'dexopt-wrapper' from the 'odex' folder to the sdcard
copy 'dexopt-wrapper.sh' from the 'scripts' folder to the sdcard
Make sure they are in the card's root folder !!
In the phone, open Script Manager or any other app that can run shell scripts with superuser rights.
Open the app, run the dexopt-wrapper.sh script. A warm reboot may occur, since the script will restart the framework
Reboot to recovery, Clean Cache, Clean Dalvik Cache
That's it
Deodexed ROM:
update-signed.zip in the dist folder
Copy this file to your sdcard, then reboot to cwm recovery and install it from there. Then do a Dalvik Cache wipe, Cache wipe and reboot.
services.jar in the dist folder
You can copy this file to phone's /system/framework folder and replace the existing one. Make sure that the new file will have owner/group 'root' and permissions 644. Then reboot to recovery, clean Cache & Dalvik Cache.
Rollback
In case something goes wrong, there should be a message about that in the activity.log file.
Feel free to send this file to me - either attach (not paste!!!) the file to a post in this thread, or upload it to any of the cloud services and tell me the URL. I'll take a look.
Before patching, the tool creates backup of the files as a CWM recovery compatible update.zip file. It will sit in the backup folder. This is your way back to a working system. Of course, you can do a nandroid backup..
So what is the tool actually doing?
Very easy to explain.
it pulls the services.jar (and odex files if needed) from your phone to the working folder (or takes an existing one that you put into the folder)
it uses the baksmali.jar to decompile the services.jar/odex
creates a backup of the unchanged files
it runs a ported perl version (and compiled to exe) of Zeppelinrox's JellyScream patcher script (v6) to patch the .smali files
it uses smali.jar to compile the new classes.dex
inserts the new classes.dex back to the services.jar
[optionally] it pushes the new services.jar back to the phone
[optionally] for ODEXed ROMs, created services.odex from the patched services.jar
[optionally] for deODEXed ROMs, it creates and signs an update.zip that can be flashed in CWM recovery
collects the garbage and exits with a nice message .. LOL
Q&A
Q: It doesn't decompile the services.jar and complains that the .smali files don't exist !!!
A: Yeah, probably your Java is crap. Install Java JRE from Oracle's web (http://java.com/en/download/index.jsp), it will offer you the latest version. I tested with Java 7, but latest releases of Java 6 should work as well.
Q: Getting java errors "not recognized" "not found" and so !!!
A: You probably don't have the java executable in the system PATH. Search the web on how to do this. Typically, Java7 installs its binaries to the <system>:\Windows\System32 folder, other versions may act differently.
Q: I'm getting bootloops after patching the services.jar with this tool!
A: Make sure to Wipe Cache, Wipe Dalvik Cache and Fix permissions in the CWM recovery. ALso, feel free to send me your original services.jar, I'll take a look. If you have an odexed ROM, send me the whole /system/framework folder and the activity.log file generated while using this tool in "online" mode.
Q: After reboot with the new services.jar file, it says "Android is upgrading" and optimizing apps, even though I did not wipe my dalvik cache.
A: Well, yes that is expected. It will take a while, depending on how many apps you have installed.
Q: Will my phone's memory be blazing fast and effective after this?
A: No, you still have to run the V6 Supercharger script.
Q: Does it run on Linux?
A: Not yet, but it will. I need some more internal testing to release a Linux version.
Q: Does it run on ODEXed ROMs?
A: Yes !!!
Q: Why is the executable so large???
A: Blame PAR long story short, I wrote my stuff in Perl and used Perl to port Zep's stuff as well. Then I compiled the script to exe using the PAR:acker package, resulting in the huge executable. I know, there is another way, to use Activestate's PDK (Perl Development Kit), but the license is approx. $250 and I just don't have that money for spending on a single tool. PDK creates much smaller files (approx. 1/3rd), but for now we have to stick with what we have
Q: Tool fails and in the log I see messages like "failed to copy 'C:/super/backup/services.jar' to '/mnt/sdcard/services.jar': Permission denied"
A: Make sure the USB connection mode is other than "Mass Storage". It can be "Charge Only" or "None", really this is depending on the device you own.
Q: Isn't there a virus included in the executable?
A: LOL.. No. This community gave me a lot since 2007 and I have no intention to harm it in any way. If you are using NOD32 and it starts complaining about the URL to my file I posted above, let me know. ESET support is pretty quick in identifying and fixing false warnings
Enjoy.. and feel free to PM me in case of any questions. I'll keep this post updated all the time.
Thanks
- Zeppelinrox for the V6 Supercharger and the associated scripts/tools
- Rexstor for the ODEX guide
- Android community for all the other tools (smali/baksmali/sign)
- Google for Android... luv ya!!!
If you feel like I deserve a beer for what I've done, feel free to consider donating to Zeppelinrox first as I'm just making his fabulous work a tiny bit more accessible. And if you still think I deserve a beer, you can use the button below.

Simplified Tutorial
Here's my tutorial on this if the above is unclear!
Starting
Download the patcher
Plug in your phone with USB debugging ON!
Now you're already almost done!
Patching
Go to where you downloaded the patcher and unzip it.
Open the JellyScreamPatcherV6_0.9.x.x folder and launch the .exe
{
"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"
}
READ ALL THE INFORMATION and select your desired options.
After you have completed patching, you may now exit the cmd window and reboot your phone to recovery.
Wipe the CACHE, DALVIK CACHE, and FIX PERMSSIONS!
Reboot and enjoy!
ALL CREDITS TO pepcisko and Zeppelinrox!!!

Download/Changelog
Downloads
http://dev.pepcok.info/jellyscreampatcher/JellyScreamPatcherV6_0.9.0.6.7z
Changelog
0.9.0.6 [2012-09-23]
still using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
added a proper error reporting when sdcard is not writable in online mode
0.9.0.5 [2012-09-20]
using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
multiple users with Odexed ROMs have reported this version to work. Feel free to try
with online mode, there is a framework restart after patching, causing warm reboot of the device.
0.9.0.4 [2012-09-13]
using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
Warning for odexed ROM users - proceed with cautions, many have reported bootloops (even with previous version). Investigating
0.9.0.3c [2012-09-12]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
fixes STUPID bug with storage detection (I hope)
0.9.0.3b [2012-09-12]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
storage detection, as requested by one of the users (thanks Zep for the code! )
fixes in shell scripts for online mode
removal of the -f flag for rm commands
0.9.0.3 [2012-09-11]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
odex: if the baksmali decompile fails (e.g. file missing, although being in BOOTCLASSPATH), the tool will create an alternate BOOTCLASSPATH based on the files that were pulled from the phone and try decompile again. It even this fails, then I guess the world will end in 2012
ui: revamped the whole ui, user is now selecting offline vs online (adb) mode at the beginning
ui: added a proper note for the user to make sure to clean cache/dalvik cache when rebooting for the first time with the new services
ui: added instructions for the user in offline mode (when he wants to do the final steps manually)
internal: added some file exists checking, online (with adb) mode works better now and is prettier
other: as always, please read what the tool says.
0.9.0.2 [2012-09-06]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
instead of using crappy adb commands, the final patching is done via shell scripts in the phone - please help me test that. I already restored my phone's system partition 4 times (since patching a GB MotoDefy+ with ICS HTC Evo services is not healthy, but necessary for my testing), all the final patching seems to work fine here. Tested for both odexed and deodexed files and my phone already hates me
the tool will make a backup of your original services.jar/odex file into a CWM recovery update.zip (will be in the backup folder) .. that's your way back from potential hell
fixed a typo in manual API level selection - thanks for catching
0.9.0.1 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
few fixes (shell user detection, trying to implement better /system rw mount )
0.9.0 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
initial support for ODEXed ROMs - alpha version. I need testers please ! Since my phone does not have any odexed ICS or JB, I was able to test with sample files from xda fellow members end-to-end, but the real full fledged experience, I can't verify
0.8.9.2 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
minor update to capture the system calls, stdout and stderr into the log, for people who have problems with java. Let's see how it works
0.8.9 [2012-09-04]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
updated adb communication
added proper logging
internal preparation for ODEX ROMs (yeah, 0.9.0 will work with ODEXed ROMs !!!)
added framework folder as the working folder (reduces file clutter.. LOL)
0.8.5 [2012-08-27]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
update-binary from Titanium Backup
0.8.4 [2012-08-26]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_8.sh
minor fixes only
0.8.3 [2012-08-25]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_8.sh
this one should work with services.jar files where the smali files don't include debug information
0.8.2 [2012-08-23]
some more checks for "non-compatible" data, will provide warnings to the user in case of "incompatible" services.jar. Users seeing that message should proceed with caution until the next version. Zeppelinrox is aware of the potential problem.
0.8.1 [2012-08-22]
patching based on Zep's v7 script
resolves patching issue with the services.jar from the Alliance 2.1 ROM for Galaxy Note (GT-N7000)
resolves a weird compilation error when running the executable
0.8 [2012-08-22]
First public version, based on Zep's v6 patcher

Deleted

???

I like your tutorial so make sure you keep that but i heard the dev is picky about permissions, how did you get permission?
Anyway, i'll be trying this

THEindian said:
I like your tutorial so make sure you keep that but i heard the dev is picky about permissions, how did you get permission?
Anyway, i'll be trying this
Click to expand...
Click to collapse
I think you're talking about Zeppelinrox... lol pepcisko is very nice and allowed for me to post this!

What exactly does the v6 super charger do and will it work with Toasted Marshmallow?
Sent from my Toasted Marshmallow using Tapatalk 2

pyr0sphere said:
What exactly does the v6 super charger do and will it work with Toasted Marshmallow?
Sent from my Toasted Marshmallow using Tapatalk 2
Click to expand...
Click to collapse
It makes your phone FAST... super snappy with better multitasking!
It rearranges and fixes the OOM Groupings and Priorites and lowmemorykiller values.
So basically, it's a COMPLETE MEMORY MANAGEMENT FIX!
It's the ONLY one of it's kind
NO LAUNCHER REDRAWS, faster than ever, multitasking is better... why?
Because it works with the lowmemorykiller and letting it work the way it's meant to work.
And yes! It works with Toasted Marshmallow... I'm using it now

Coryyyy said:
It makes your phone FAST... super snappy with better multitasking!
It rearranges and fixes the OOM Groupings and Priorites and lowmemorykiller values.
So basically, it's a COMPLETE MEMORY MANAGEMENT FIX!
It's the ONLY one of it's kind
NO LAUNCHER REDRAWS, faster than ever, multitasking is better... why?
Because it works with the lowmemorykiller and letting it work the way it's meant to work.
And yes! It works with Toasted Marshmallow... I'm using it now
Click to expand...
Click to collapse
With this substantial increase in performance, is there an opposite hit in battery life?
Sent from my Toasted Marshmallow using Tapatalk 2

pyr0sphere said:
With this substantial increase in performance, is there an opposite hit in battery life?
Sent from my Toasted Marshmallow using Tapatalk 2
Click to expand...
Click to collapse
Not at all
Sent from my SGH-T999 using Tapatalk 2

I've never noticed a change on AOSP/AOKP/CM ROMs when using V6.
I have, however, noticed a significant change on Sense ROMs, since they are such memory hogs.
Sent from my HTC Glacier using xda app-developers app

estallings15 said:
I've never noticed a change on AOSP/AOKP/CM ROMs when using V6.
I have, however, noticed a significant change on Sense ROMs, since they are such memory hogs.
Sent from my HTC Glacier using xda app-developers app
Click to expand...
Click to collapse
I concur!,I although a slight improvement on AOKP/CM ,it really seems to help Sense Roms alot!!
:good:

estallings15 said:
I've never noticed a change on AOSP/AOKP/CM ROMs when using V6.
I have, however, noticed a significant change on Sense ROMs, since they are such memory hogs.
Sent from my HTC Glacier using xda app-developers app
Click to expand...
Click to collapse
Yep I totally agree only sense version I believe in my opinion that don't need super charge would be 2.1/4.0 Lite since they don't get up ram
sent from my glacier via tapatalk

I'll be adding to my tutorial on how to continue on to actually using the V6 Supercharger after patching the services.jar! I just realized that some might not know you still have to run that I just got wait until my cord ships in... mine broke.
Sent from my SGH-T999 using Tapatalk 2

Somebody recommended flashing this V6 cuz I'm experiencing slow data & wifi speeds on the Glacier One V. Do I have to do the services.jar step or can I just go ahead & download the sh file & run the exe?? Lil bit confused here

I cannot seem to gain adb shell root rights when I'm on elginsk8r or 0.0 jellybean roms. Works fine with toasted marshmallow. Anyone else have this problem?

I'm not sure about roasted marshmallow, but the 0.0 Rom doesn't have and adb root selected by default under settings/developer options. Check there.
Sent from my T-Mobile myTouch 4G using XDA

hi, good work bro.
i got this
Activity log:
[system call] java -Xmx1024M -jar "C:/Users/Papenko/Desktop/JellyScreem/smali/smali.jar" "C:/Users/Papenko/Desktop/JellyScreem/framework/classout" -o "C:/Users/Papenko/Desktop/JellyScreem/dist/classes.dex"
2012-11-18 04:18:12 | D | [stdout] Error occurred during initialization of VM
Could not reserve enough space for object heap
2012-11-18 04:18:12 | D | [stderr] Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
2012-11-18 04:18:12 | E | [smali] Classes.dex does not exist after compilation. Exiting.
2012-11-18 04:18:16 | D | [cleanup] deleting the framework\classout folder
2012-11-18 04:18:16 | D | [cleanup] deleting the framework folder contents
I just put the last and problematic part. Cheers M8

Just tried using JellyScream Patcher 0.9.0.6 with the new ViperTouch v1.0.0 ROM and stuck at HTC logo. Clear cache/dalvik/fix permissions. Still no good. Dirty flash of ViperTouch and I'm back in business (minus the supercharger of course).
All that said, it could just be me. I didn't have luck with Pimp My Rom either (not on ViperTouch but garlest(sp?) Sense ROM) where others seemed to do ok.

Related

[Build] ThaiDai Android Loader and Setup v2.3 [DISCONTINUED]

ThaiDai Android Loader is a program for Windows Mobile 6.1.
--------------------------------------------------------------
A few words why I stopped development:
I had to stop this project for personal reasons (reason called baby).
And this was easy because nearly nobody (or only a few < 10) used my loader.
But more important for me now: I do not see any improvements on bugs or missing features for Blackstone with Android, there is no real kernel developer community anymore. Sound problems, BT, battery and performance aren't funny if you want to use the device. For playing with Android it was ok and I learned a lot. But not for every day use. So I switched back to WinMo 6.1.
And yesterday I bought a Samsung Galaxy Note. Android rules!
--------------------------------------------------------------
(6.5 builds will not work because there is an error in writing files with Windows Mobile 6.5 which will appear when linux makes a fsck. So no support for 6.5
You can use builds like Damn Small Topix (Rapidshare works) or other 6.1 builds)
If you run into problems and want help, please provide me with the generated log files in folder "thaidaiboot/Logs".
No Logs = No help!
With the loader you can start Android or you can install Android without doing the usual things: no copy, no edit, no changes etc.
The setup (a normal cab-file) prepares the necessary files on your sd card automatically.
With the program you select what you want to do (install, backup, restore, change device, choose Android Build, edit startup.txt and build.prop) and press "Boot". That's it.
Program is installed in autostart folder and will automatically boot into last chosen OS after a number of seconds (default 100 s, you can change of course). Stopping countdown is easy: klick somewhere or change a value).
FRX07.1 build is included as default. More builds to come from tomorrow.
{
"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"
}
-------------------- v2.3, 2011/09/18 --------------------
Changelog: including 2.0/2.1/2.2 changes, starting with 2.3 ;-)
---- 2.3 ----
Editor for build.prop for each build
Explanations for entries in build.prop (just started to gather them)
additional logging information in window mobile stage of installation
selected builds stay in original folder (so no system.tgz in folder thaidaiboot) and are used in rootfs.img for installing /system
---- 2.2 ----
Timer option for booting into Android automatically after n seconds is working correctly now.
I added the option to select Apps for installation - but I do not change the apps delivered with the specific build. So this part ist only for your own flavour of apps you want to add.
Next big change: Editor for startup.txt. You can easily change the commandline parameters (like display density or OC or ...). The set parameters cannot be changed until now (I didn't see the necessarity).
Resolution changed to 480x800 and using it. So from now concentrating on Blackstone. Other 480x800 devices may work but still no guarantee.
Resolved some stupid error with choosing Kernels (I just found this one today, nobody else did before)
---- 2.0/2.1 ----
Changed format for builds to tgz. Now it is easier for me to prepare cwm based builds
New rootfs.img for installation and updates with tgz files
Added download links for build thunderbolt
In every build I checked I have to make changes to build.prop: double entries, wrong entries, obsolete entries, stupid entries, optimized entries. That's why I started adding a build.prop-editor to my program.
As default I still use NeoFroyo. (without GAPPS).
Added GAPPS as Update-Package (selected on first start, please install)
New setup package and installation file for windows mobile
For all typical devices like Blackstone, Diamond, Raphael, Rhodium, Topaz
New user interface in windows program
autostart into Android after n seconds (changeable)
new UI (Hubs)
switched from comboboxes to lists for selection (better information on first look)
new ts-calibration for Topaz (thanks to Aggy in Neopeeks forum)
changing Hubs color possible (just for fun)
removed Apps from system.ext2 to folder APPS, so the different Builds will be much smaller and I have to install and upload Apps only one time
with apps in folder Apps the selection of Apps in loader program will soon be possible
Downloads:
One big cab file (about 95 MB) including everything.
Setup for ThaiDai Android Loader v2.3 with FRX07.1
Bugfix for Exe, please copy to your program files folder with thaidailoader, will give a complete new cab file next days.
Some more builds:
Setup for Build Froyo Blue
Prepare SD card:
You need 4 primary partitions on sd card (I use MiniTool Partition Wizard Home Edition)
All sizes here are only examples. Start with them, feel free to change.
All partitions have to be "primary" (ignore warning in Windows)
Partition 1: FAT32 (at least put folder "thaidaiboot" from zip here)
Partition 2: EXT2, about 150 MB (used for Android system partition)
Partition 3: EXT2, about 250 MB (or more for Android data partition)
Partition 4: EXT2, about 100 MB (for Android cache partition)
Size of partition 1: [Size of sd card] - [Size of 3 EXT2]
Installation:
Delete folder thaidaiboot on sd card and deinstall Loader program before using this setup (copy cab to sd card and start it).
- copy first big cab to sd card
- execute cab and start setup
- install on sd card (not on internal memory!)
- start "ThaiDai Android Loader" from start menu
- select your options and boot into Android
Adding new builds:
- copy cab for build to sd card
- execute cab and start setup
- install on sd card (not on internal memory!)
- start "ThaiDai Android Loader" from start menu (build will be copied - takes some time)
- select different build and install (Please start program one time before adding builds!)
Warning:
- Do not edit or change files in folder "thaidaiboot" on your own. Use the program.
- I hope it will install now in all language versions of Windows Mobile. I tested it only with an english installation. And maybe some foreign fonts (like Thai ;-)
aren't recognized by haret.exe or linux.
-------------------- ThaiDai Android Loader options: --------------------
Administrative Tasks
backupSystem
backupData
make Clean
installSystem
fixSystem
fixData
restoreSystem
restoreData
When started in Windows Mobile no Task is selected!
After "haret.exe" is started my installation script will go through the selected tasks
Device Selection
Select "startup.txt" and "ts-calibration" from folder "Startups" for possible devices in FRX07 like Blackstone, DIAM, RHOD, RAPH, Topaz
Build Selection
Select the build you want to install
NeoFroyo (default)
XDAndroid FRX07 (the original)
THUNDERBOLT
... (tell me what you want to see here)
Kernel Selection
Select the kernel you want to use
1342
1346 (default)
Typical Tasks:
For a new and clean installation (data is deleted) choose: "backupSystem", "backupData", "makeClean", "installSystem"
For an update of your system (no data changed) choose: "installSystem"
You can always choose to start with backups first and choose: "backupSystem", backupData"
Tasks with "fix..." are only necessary for updates I will post here
Select Device [Blackstone]
When you select another device, the program checks if there is a "startup.txt" in the folder of this device. If not found, nothing is changed. When a "startup.txt" is found it is copied to the folder "thaidaiboot" and you can start your device.
If a "ts-calibration" is found, it is copied. Please be careful: I do not know if all ts-calibration files are ok.
-------------------- OK-not OK: --------------------
Tested only on Blackstone
OK
Wifi works right from the first start
Market ok
Phone ok
Camera and Video
Root access ok
3.5 jack ok
3G (UMTS HSDPA in Germany) ok
Not OK
Audio stuttering
Youtube not really good (HD problems, normal ok)
Bluetooth starting, but no pairing
Audio, not ok: stuttering
BLAC100-kernel-modules-2011-04-11-1302528888.zip
Audio work on my phone
http://forum.xda-developers.com/showthread.php?t=999544
I don't have any problem with your thread, in fact, I'm glad you made it work
This is a communitary effort, and I'm only an average tester, so couldn't be more far from angry for this.
Thank you!
Hi ThaiDai,
Thanks for sharing your work.
Quick questions:
- have you modified the Roofts.img from FRX07 adding CMW? or modified the roofts from Neopeek CMW 1.8?
- What is the size of the cache partition you recomend as it is now? Neopeek CMW 1.8 recommends between 50-100mb.
I'll try as soon as I finish working.
Brgds
Downloaded the last version of rootfs.img from XDAndroid rootfs Build Service and used this as a starting point.
As far as I understand we do not need a cache for the Android build FRX07 anymore. But for CWM (and his logs) we need. So I will try later to flash the next version with a very small cache partition size.
But first I want to try and repair (if necessary) the scripts, so that other devices can be used (tried?) with this build.
Wait and see...
Update to Version 0.99 (Full Install and Update Only)
First post updated with new version 0.99.
Included download links for Full Install (complete npkboot folder) and Update only (zip-file inside npkboot).
And it should be possible to test this build on other devices now. Tried to restore the multi-device-usability. But no garanty.
Tried the previous version and worked nice and fast. (with cache partition of 50 Mb)
I'll download and try the new version now!
Please try if the Update Only works. I have to check myself later. Didn't do this right now. Thanks
ThaiDai said:
First post updated with new version 0.99.
Included download links for Full Install (complete npkboot folder) and Update only (zip-file inside npkboot).
And it should be possible to test this build on other devices now. Tried to restore the multi-device-usability. But no garanty.
Click to expand...
Click to collapse
update only dowload not working can you check it please thanks
its working now thanks
Thanks man, the first Android that works on my Blackstone. I tried several builds CWM and not CWM, but this seems to work w/o probs - so far
phsnake said:
Thanks man, the first Android that works on my Blackstone. I tried several builds CWM and not CWM, but this seems to work w/o probs - so far
Click to expand...
Click to collapse
Please give these credits to the developers of XDAndroid. I didn't do very much here, only made a CWM build from the original ext2 based build.
But I'm happy you can use Android on Blackstone with this one.
BTW, remember to update SU binary fron superuser app, and better if you don't reuse app data from previous builds. It will surely make your wifi fail, probably other things.
I've been using the XDAndroid FRX07 CWM by ThaiDai 0.99 build from last nigth, and so far so good.
Performance is quite good, batery life acceptable, and the problems are the same as XDANDROID FRX07 running on the Sd (BT, audio stuttering and wifi disconnecting intermittent).
questions:
- have you tried to change the behaviour of the red button using spareparts? it didn't worked for me.
- have someone use the old fancy widget (the one HTC weather clock replica)? it does not work.
Sorry if this question sounds stupid. I already tried to read the info in neopeek but still don't fully understand it, so anybody that is willing to explain to me, thanks!
I have been using the FRX07 and the previous version of XDAndroid in the normal build (one folder in the SD Card). What is the benefit and the difference of running it in this CWM way? Is it better performance, better battery life, or better management?
lie_ui said:
Sorry if this question sounds stupid. I already tried to read the info in neopeek but still don't fully understand it, so anybody that is willing to explain to me, thanks!
I have been using the FRX07 and the previous version of XDAndroid in the normal build (one folder in the SD Card). What is the benefit and the difference of running it in this CWM way? Is it better performance, better battery life, or better management?
Click to expand...
Click to collapse
Some have claimed better performance, but in my testing it's actually worse.
I guess one benefit with having a dedicated data partition is USB mass storage (should) work properly. Other than that it's a lot of work for very little reward - perhaps if you jump builds a lot, CWM has a nifty backup/restore feature built-in to it...
Eodun said:
BTW, remember to update SU binary fron superuser app, and better if you don't reuse app data from previous builds. It will surely make your wifi fail, probably other things.
Click to expand...
Click to collapse
I didn't change the apps, only took them from the official FRX07 build
arrrghhh said:
Some have claimed better performance, but in my testing it's actually worse.
I guess one benefit with having a dedicated data partition is USB mass storage (should) work properly. Other than that it's a lot of work for very little reward - perhaps if you jump builds a lot, CWM has a nifty backup/restore feature built-in to it...
Click to expand...
Click to collapse
You should give it another try
ThaiDai said:
I didn't change the apps, only took them from the official FRX07 build
Click to expand...
Click to collapse
I was referring to a problem posted above, sorry. The thing is I got some nasty problems (in fact had to reinstall again) because I tried to restore some data+apps with TB and it ruined wifi.
Hi Eodun, what do you think the benefits of the CWM build of FRX07?
Its really faster, better battery life, etc? Can you give some insight?
lie_ui said:
Hi Eodun, what do you think the benefits of the CWM build of FRX07?
Its really faster, better battery life, etc? Can you give some insight?
Click to expand...
Click to collapse
It could be faster,you'd get usb storage to work,battery life shouldn't change.

[GUIDE] How to Customize a ROM

I made this guide because I've found that a lot of us doesn't satisfied with our current custom ROM. Please don't bully the dev to make a rom with our personal preference. You may follow this guide instead to modify the custom rom to suit with your personal taste. I hope I could make it as simple as possible so all of us so even a new android user could understand. Please make sure you've read this guide throughly before make any modification.
Please note that this is just a simple guide. You won't find any guide about theming a rom here. Please refer to another guide about uot kitchen or apk modification.
Click to expand...
Click to collapse
tools:
1. a custom rom (to be customized) or stock rom.
2. 7zip or another similar program
3. apk files
4. dsixda kitchen (not mandatory)
5. apktools (not mandatory)
6. titanium backup (not mandatory)
7. CWM.
First of all, extract your custom rom. You'll see that the custom rom's zip file contain several files and folders. Some of them are common and could be find in almost all custom rom. The files and folders are:
1. meta-inf : contain the script needed to install the rom (don't touch it if you don't understand about scripting nor dsixdia kitchen).
2. system : contain the system files and folder of the custom rom
3. boot.img : the kernel used in the custom rom
4. additional file : (eg:install-busybox, check-data and bmlunlock) additional file contain scripts needed to install additional feature (eg: busybox, additional app in data/app, and install custom kernel) in the custom rom.
NOTE: you can start from either stock or custom rom. If you start from stock rom, use CWM to make nandroid backup, then extract the system.rfs.tar. That's the system folder that we need later. You'll need installer script from other custom rom to make your rom installable to other device. In my past experience, the script form hybrid 2.1 or myss 3.4 is easy to use. I'd like suggest use them if you only want a light customization (without custom kernel, init.d script, or a2sd support.)
Click to expand...
Click to collapse
If you don't know much about them, don't touch anything but system folder. now, open the the system folder. You'll see a lot of folders and some common files. Leave CSC files and SWconfiguration intact if you don't know about them. You can edit build.prop to insert more build.prop setting or modify the content if you understand how to do it. To change the rom's name, edit the value for 'ro.build.display.id'. You may also change the value for 'ro.build.version.release' to any number like 9.9.9 if you want to show off your modified custom rom
I'll give a quick explanation about the folders in /system.
1. app : contain all the system's app
2. bin : contain the command and bin files for the rom (don't touch it)
3. cameradata : camera files
4. csc : csc files. contain dictionary for the keyboard
5. etc : additional setting and files for the rom
6. font : the fonts
7. framework : system's framework
8. lib : drivers, modules, kernel related files for the rom
9. media : media files-ringtones, notification
10. sd : folder created by a2sd darktremor. (don't touch it)
11. usr : files needed for keyboard, bluetooth, etc.
12. xbin : additional command and bin files (busybox is normally installed here)(don't touch it)
13. T9DB: dictionary and language database for swype and stock keyboard
NOTE: if you start from stock rom, copy all the files under /system folder (the one from system.rfs.tar) except /system/bin and system/xbin. don't touch them.
Click to expand...
Click to collapse
now, you're ready to customize the rom. I'll divide the guide into several section. pass the section if you don't want to modify it.
>>> SYSTEM APP-CUSTOMIZATION <<<
Click to expand...
Click to collapse
DEODEX VS ODEXED ROM. Most of custom rom available is deodexed rom while our stock rom is half deodexed rom. I'll try to explain it in most simple way. First of all, we should understand that mostly every app in android consist of three part, *apk files, *dex/odex files, and lib files.
ODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in same folder with the apk files (/system/app). the positive side, it consume less internal memory and a execute faster. the negative side, it makes the app uncostumizable (cannot apply custom themes) and need more space in system partition.
DEODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in /data/dalvik-cache. the positive side, the app can be themed (full customizable) and consume less system partition. we could put more app in /system/app in deodexed rom. the negative side, it consume a lot of internal memory. please be cautious with the internal memory space if you use deodexed rom. (NOTE: if you start from stock rom, you may use dsixdia to convert odexed to deodexed rom).
system app customization is easy. you can add or remove any app in /system/app folder as long as it fit with the space in sistem partition (220MB). if you start from stock rom, please be cautious to not remove essential app from the folder. you may see the app in hybrid rom v.2.1 to see which app is safe to remove or not (the spreadsheet document in this forum is gone. sorry). having ~20mb free space in system partition is a good thing if you want to make the rom more customizable.
NOTE:
1. not all apk could be placed in /system/app (especially keyboard app)
2. tw launcher file is named tw'xxxxx'launcher.apk. you may remove it if you have another launcher.
3. not all custom launcerh could be placed in /system/app. you may put the launcher from other custom rom to minimalize the risk.
4. for the app info reference, please refer to this link
https://docs.google.com/spreadsheet/pub?key=0AulpDQBL_oTOdDRIbnV5b0UyQTd0TDNZSFBKYXJ1blE&output=html
if anyone want to edit it please contact me.
Click to expand...
Click to collapse
>>> THEME-CUSTOMIZATION <<<
Click to expand...
Click to collapse
Basicly, theme is easily changed by replacing systemUI.apk in /system/app and framework-res.apk in /system/framework. You may put theme from another custom rom or make for yourself from uot kitchen or make it by yourself with apktool. A high modified theme like dysmenorrhea is also modify some part in setting.apk and jobmanager.apk. and another app. Don't forget to delete the *odex file (for all changed app only)from /system/app if you start from stock rom.
NOTE: please be aware with the base firmware of the rom. make sure that systemUI.apk and framework-res.apk files are from exact firmware version. I've found that theme for DXLA, DXLB, DXLC are exchangeable but you can't put theme from DXKL2 to DXLA or the reverse. to minimize any risk, please use themes only from exact same firmware.
>>> PERFORMANCE-TUNING <<<
Click to expand...
Click to collapse
Performance tuning could be done in several ways. the easiest (proven works but risky) method is by edit build.prop file. I won't give you all the script. Feel free to search and apply the script with your personal preference. you can found in this forum or just copy from another rom. these script below is used to increase gprs/hsxdpa speed. this script is a common script and proven to be works in a lot of device. (I forgot the original source. sorry)
Code:
ro.ril.enable.dtm=1
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=8
ro.ril.hsupa.category=6
ro.ril.hsxpa=2
ro.ril.enable.a53=1
there are also some common tweaks for build.prop file. these are the one I always using in my rom.
Code:
#mod battery kats
debug.performance.tuning=1
pm.sleep_mode=1
video.accelerate.hw=1
windowsmgr.max_events_per_sec=150
ro.ril.disable.power.collapse=1
wifi.supplicant_scan_interval=150
#mod performance
dalvik.vm.execution-mode=int:jit
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.media.enc.jpeg.quality=100
ro.telephony.call_ring.delay=0
video.accelerate.hw=1
ro.kernel.android.checkjni=0
ro.HOME_APP_ADJ=1
======
the second way, (little bit harder, but its still proven works) by create or modify some file in /system/etc. I'll give you some of them.
1. sysctl script-to increase internet speed.
make a new file in system/etc, name it 'sysctl.conf' (or edit if it already exist). put this script inside.
Code:
net.ipv4.tcp_wmem = 4096 39000 187000
net.ipv4.tcp_rmem = 4096 39000 187000
net.ipv4.tcp_mem = 187000 187000 187000
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.route.flush = 1
net.ipv4.ip_no_pmtu_disc = 0
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
its a common sysctl mod for linux based OS (I found it in another mod for another device but I forgot the source). you'll need busybox, and terminal emulator. to run it, type:
'su
'sysctl -p
in your terminal emulator (without ' symbol).
2. GPS mod-to make the GPS lock faster
this mod is based on zeusseuz's guide. please see this page for further information (the script is quite long) http://forum.xda-developers.com/showthread.php?t=1552076
======
the last way...by init.d script. it only works in custom kernel. I won't put any script here. you should find by yourself. you can use make a file in init.d with there script to check if your kernel support init.d script.
Code:
#!system/bin/sh
touch data/kurotsugi_test.txt
set the both init.d folder and the file's permission to rwxrwxrwx (777)
if the script work, you'll find kurotsugi_test.txt in /data.
======
>>> ADDITIONAL CUSTOMIZATION <<<
Click to expand...
Click to collapse
I'll only put the one I've tested and proven to be works.
1. beats audio
this is the old version but doesn't have FC issue. get the file from here http://forum.xda-developers.com/showthread.php?t=1526643
unzip. copy all the files into their respective folder
2. bravia engine
put be_photo and be_movie in system/etc folder then edit the build.prop file doesn't seems work. The real bravia engine mod is consist of
- be_photo, be_movie in /system/etc
- com.sonyericsson.android.SwIqiBmp.xml in /system/etc/permission
- com.sonyericsson.android.SwIqiBmp.jar in /system/framework
my megabassbeat mod contain these files. you can get it from there.
3. boot animation
download or get custom boot animation file from another custom rom or another source. rename it to bootanimation.zip, put it on /system/media.
you may check this out http://forum.xda-developers.com/showthread.php?t=1548479
please note that DXLB rom doesn't support bootanimation. you need to put bootanimation and samsungani files from another rom (like hybrid) in /system/bin and replace all file in /system/lib with lib files from older firmware (DXLA or older)
4. boot sound
make or download boot sound. please make sure the format is *ogg. rename it to poweron.ogg then put it in /system/etc.
5. custom ringtones, notification,
make or download the sound file (in ogg format). put it in /system/media/audio/(respective folder)
6. disable boot animation (for quick boot)
put 'debug.sf.nobootanimation=1' in build.prop.
7. megabassbeats (better than beat bass)
you can get the file from this link http://forum.xda-developers.com/showthread.php?t=1646406. you'll need to copy the files into its respective folder.
If you've done with the customization, enter the custom rom folder. select all the files then create zip file. to install the rom, copy to your sdcard, flash it either by stock recovery or CWM after wipe /data. PLEASE MAKE SURE THAT ALL THE FILES DOESN'T EXCEED THE LIMIT 220MB BEFORE ZIPPED.
This guide can be used if you want to make your own rom. if you start from stock rom, you may use this script (its from myss v.3.4) to install the rom. please make note that it will only install the rom, not the kernel. you'll still need the bin and xbin folder from custom roms in order to make it work.
http://www.mediafire.com/download.php?skw1ytt37mklb4o
DISCLAIMER:
1. do it with your own risk
2. please note that NOT ALL YOUR MODIFICATION WILL WORK. ROM modification is seriously hard thing. its not easy. thats why we should give the dev proper respect to them. you'll need a lot of research to make it work.
3. this guide is made for personal use only. don't publish the customized rom without permission from the original dev.
Click to expand...
Click to collapse
All credits for the dev who make the rom, the one I've used the guide here, and all XDA member. no need to say thanks or press it for me. give that to the real dev. I'm just a noob here. Feel free to correct me if I'm wrong.
ADDITION STUFFS
==============
Click to expand...
Click to collapse
1. dualboot
this mod actual intent is to make developing a rom a lot more easier without risking our native rom. I was using it a lot when customizing my rom. you can get the original link for dualboot here: http://forum.xda-developers.com/showthread.php?t=1598803 and for a little more detailed step how to use it http://forum.xda-developers.com/showthread.php?t=1600973.
you can find another dualboot kernel here. http://www.mediafire.com/download.php?gkb33aktyf7wbbh
this one have init.d support. all credits goes to irfanbagus
2. data2sd
this mod is used to increase data partition size. you can find the complete guide here http://forum.xda-developers.com/showthread.php?t=1622052
Noob guide: Light theming
just for addition...this guide is only about change minor aspect in your theme. please don't expect any hard modification. we'll only change some of the picture used by the app.
what you need:
1. 7zip
2. any graphic editor program
3. systemUI.apk and framework-res.apk
the steps:
1. extract both apk files
2. open /res/drawable-ldpi. you'll see the graphic files used by the app.
3. replace any graphic files with yours. please make sure the resolution size and the name are same.
4. open the apk file. right klik>7zip>open archive
5. drag n drop /res folder (from the extracted one) to 7zip.
6. push it to your rom
7. cross your finger...reboot your device.
IF YOU WANT TO CHANGE THE SETTING BACKGROUND, CHECK THIS LINK.
http://forum.xda-developers.com/showpost.php?p=25061115&postcount=90
it's a tranlated version of this post:http://www.kaskus.us/showpost.php?p=649687134&postcount=5784
all credits for heriawan.fx who make the original post.
m only translated it and post it to here.
CAUTION:
some user have found that this background setting mod cause a problem in deskclock.apk. if this happen, you can replace the deskclock.apk with this one http://www.mediafire.com/download.php?w5vchbdyj2k9837
please delete deskclock.odex if you're using a stock odexed rom.
Click to expand...
Click to collapse
NOTE:
- don't forget to make backup
- you may use the files attached in this post to push the file into your ROM. put systemUI in app and framework in framework.
here are some pic from my customized rom. its an odexed rom with a slight customized repencis v.2.5 theme.
{
"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"
}
the launcher is downloadable here
http://forum.xda-developers.com/showthread.php?t=1596280
Hmm, gonna read this later. It's a wall of text on phone lol. Hope I don't forget.
Anyway thumbs up for the effort.
Sent from my GT-S5360 using xda premium
reserved
good work dude
have done a lot of homework lol
excellent work bro !!
very informative.....really appreciate your work
thanks alot .
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
bumslayer said:
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
Click to expand...
Click to collapse
Sorry...I'm just a chemistry student and consider my self as a noob here. I never use apktool before and only use 7zip, notepadd++ and simpel graphic editor program to modify an apk files (only light theming). its a lot of simpler and easy for a mid user like me.
you may follow this guide instead
http://forum.xda-developers.com/showthread.php?t=1466100
Noted bro. I already took a peek at the link you gave. Thanks anyway.
Sent from my GT-S5360 using Tapatalk
bumslayer said:
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
Click to expand...
Click to collapse
hey
I can provide you the tutorial for framework and system ui apks
with apktool for sgy
I think you are trying to make your themes
if that is I will provide the tutorial tommorow
if you need it
why don't you PM repencis? the setting.apk in repencis v3 changed a lot from the original one. I thought he could help you.
EDIT: thedeadlycoder seems already have the solution for you
Hahaha indeed he does! @deadlycoder I am anticipating your pm soon
Sent from my GT-S5360 using Tapatalk
I think I'll put a light theming tutorial in my reserved post...
Thanks for saving us dude! You rawk!
Sent from my AURORA ULTRA GT-S5360 through XDA Premium Customized by Androhacker Xavier
Very useful thread.Thanks
How can i confirm my init.d is working?is there any specific command for terminal emu :
su
init.d check (myb?) or with init.rc etc installed would be enough to prove it is working?
previously i tried init d-autorun-stock to my stock rom but not confident with tht method.Found [Script] init.d for STOCK ROM thread n member report its worked.
Thanks in adv.
thats a good question. please note that some of init.d script doesn't work in our device even if the script is running. stamatis's battery n performance script is one example. because of some script in init.rc (in kernel) it never change the value for RAM setting. to check the init.d script you may make a new file in init.d script. name it stest, put these script
\system\etc\init.d\99test
#!/system/bin/sh
touch /data/local/tmp/init.d_log_test.txt
echo "done" >> /data/local/tmp/init.d_log_test.txt
these script is made by doky73. if the init.d script works, you'll find 'init.d_log_test.txt' file in /data/local/tmp/ . init.d scipts need busybox don't forget to install it in your device
Kurotsugi
What is the correct permission for 99test?is it same like the others=777?
no problem if i change through root explore right?my device deny the latest version
of busybox 19.4 is this due to old su binary?19.3 will do right?
yup...thats fine. as long as the system could read it, the script will run at boot (if only it really support init.d scipt). any busybox version is OK as long as you have the binary files needed (in this case echo and touch). in my past experience, only vivek's kernel proved to support init.d script. I forgot the version. but its the last version without CWM integration.
kurotsugi said:
only vivek's kernel proved to support init.d script.
Click to expand...
Click to collapse
Kurotsugi..Thank u so much.I agree with u.Init.d script will only work with some kernel only.It is kernel dependent.My 1st attempt with stock kernel failed then
i change with stock kernel modify by blooper1 and succeed..Are u really a chemist
student ...Today is my off day n im gonna create all ur provided script.Thanks
again..
well...thanks for everyone here and this forum which help me learned a lot of stuff about android much faster. sgy is my first android device and I've only been using it for three months. with everyone help and information here I could make my own custom rom about one month ago. it sure nice to share about our sgy here :3
Wow! This seems really helpful and very useful thread. It gives me an eye opener.. Thanks!

RUJELUS22's AIO script (Updated 2-16-13)

The Goods​
About My Script:
I have been using and working on this script for sometime now, I started back when ICS first came out and we where no longer able to decompile apks in 1 step. All of the mods and things that I have posted on xda in the last year, have been made with this script. This script allows for editing those apks with a few buttons clicks. It can edit apks from any version of android. It has been posted on the Team Venum Forum and has been working for many of the Team Venum members.
With this script you will be able to:
Compile/decompile (Odexed and Deodexed) apks and jars
Make CWM zips of your projects
Flash and Push things to the phone
Make and install signed apk projects
Search decompiled apks
and much much more...
Sections:
Header bar: This displays the script info and current project.
AIO Tool: These are all options that you can use to mod. They will all be highlighted if they are available, otherwise they will be grayed out and have a short description why it’s not available.
Mid Section: 11 and 100 will always available. 11 allows you to choose your project from the “place-here-for-modding” folder. 100 will refresh the menu (usually for connecting/dis your phone).
Odex Section: These options will only be enabled if a phone is plugged in. The phone you are working with is needed for odexing and deodexing.
- 20 Deodex the entire ROM on your phone
- 21 Deodex just one apk or jar file
- 22 Odex the entire ROM on your phone
- 23 Odex a single file
Special Items section: These are portable apps and options.
- 91 Open Color edit. Allows you to visually view and change the color.xml file
- 92 Compile all .9 images inside the dot9 folder
- 93 MD5 Checker – Seldom used, handy to double-check MD5 to verify good file downloads.
- 94 Phone/Emulator – menu for phone and emulator choices.
- 95 Search tools – app to search inside smali or res files (ie textColor="#ffc0c0c0"). (Must have C++ runtime or PRGrep installed)
- 96 Open Notepad++ – best Windows/Android editor that has smali and log syntax highlighting tweek.
- 97 Color Wheel – color wheel with cool color drag and drop from anything feature.
- 98 Color Change – for smali only. Converts from hex to smali.
- 99 Options & Misc – set Header Bar options, clean folders and check logs, Sounds, and color theme for the Script.
- ** Exit the App – usually a better option for closing the Script because it closes the ADB running in the background.
I tried to designed this to make editing apks and doing things with your phone as easy as possible.
{
"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"
}
So here you go. If you have any questions or would like to see something added just let me know.
To Install: (For Windows Only)
1. Extract the zip file to a folder on your computer that does not have spaces in the name Ex. C:\apk\
2. Run the Start_AIO script (When this is opened it will check for updates and make sure adb and java are installed. Will also make all of the needed folders in the AIO dir)
3. Place an apk or jar in the place-here-for-moddding folder and have fun.
To Update: (For Windows Only)
1. Extract the new zip into you previous AIO folder.
2. Let it overwrite the current version files
3. Have Fun.
Requirements:
1. Java JDK must be installed
2. Android SDK must be installed and up to date
Downloads:
Downloads on TeamVenum.com
ChangeLog:
Version 2.0.0.3
-Added New chgcolor that is smaller
-Added New hex to smali script from Allockse and removed xUltimates colorchange.exe
Version 2.0.0.2
-Added Updated apktool 1.5.2
Version 2.0.0.1
-Added Updated apktool 1.5.1
-Updated aapt
-Updated notepad++
-Fixed a few bugs in the script
Setting up your PC for success!
1. Download and install the Java JDK from here
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Download and install the Android SDK
http://developer.android.com/sdk/index.html
3. After the SDK is installed open it and check and install these boxes
Android SDK Tools
Android SDK Platform-tools
Check the whole folder for any version you want to work on (You can check multiple, I have from 4.1 to 2.3.3)
When installing if any ask for a password just click cancel on those
4. Set your windows environment path
Follow this guide until step 3 - http://www.itechtalk.com/thread3595.html
In the image in step 4 find the Path Variable in the bottom section (Double Click to edit it)
Add your android sdk platform-tools folder (Usually C:\Program Files (x86)\Android\android-sdk\platform-tools or C:\Program Files\Android\android-sdk\platform-tools
So at the end of what is already there in Path put this ;C:\Program Files (x86)\Android\android-sdk\platform-tools (Make sure to add the ; before the whole string)
Click ok and save all of that
5. Open my script and setup your framework files
Choose option 99, hit enter
Choose option 4, hit enter
Choose your phone, or choose the last option to put the files in manually.
Choose option 11, select your apk and have fun modding.
6. At this point you should be all setup and should be able to decompile and compile apks and jars successfully.
Please let me know if I forgot something, it has been a minute since I set it up.
Nice work :good:
Sent from my SPH-D710 using Tapatalk 2
You are a beast, thanks for the awesome script!
DarkJelly Gnex on JellyBro sent this from the app.
Thanks! Awesome work!
This will be in Android Development for all phones very soon. This is real development. Congrats and thanks to my friend Rujelus. If a noob like me is starting to understand it, this is going to make themers lives so much easier.
Sent from my Galaxy Nexus using Xparent SkyBlue Tapatalk 2
This is an awesome time-saving tool. Thanks for sharing.
Sent from my SPH-D710
thank you for this. tyvm.
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
You sir are the man! Thank you for such a great tool. :thumbup::beer:
Sent from my SPH-D710 using xda premium
Thanks for all your work to make it easier for us. Great Tools. :victory:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
mjs2011 said:
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
Click to expand...
Click to collapse
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
rujelus22 said:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
Click to expand...
Click to collapse
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
tdunham said:
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
Click to expand...
Click to collapse
It does apks and jars
Sent from my SPH-D710 using Tapatalk 2
rujelus22 said:
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
Click to expand...
Click to collapse
Thanks, I'm going to use this as my starting point for making themes!
So the new AIO is almost ready. I have some people testing it out. What is everyone's thoughts about a free and a pro version for $1. The pro version would allow for batch odexing and deodexing of a rom in minutes with one click. The free version would still allow for editing and modding odexed files the same way we do deodexed now.
With this it will make it so there is no reason to have a deodexed ROM.
New things that have been added are
-odexing full ROMs
-deodexing full ROMs
-odexing and deodexing single files
-editing of odexed apks and jars with no extra steps
-making/restoring/deleting/and fixing md5 mismatch for nands
-Tons of optimized code
-Redone most menus for easier viewing
-More I am sure I am forgetting
Let mess know what you think. I would definitely like some opinions.
Sent from my SPH-D710 using Tapatalk 2
You do so much for us that I think giving back is always good. I am up for it.
Sent from my SPH-D710 using Tapatalk 2
A dollar for the project version..?
I say go for it..a dollar is not much and some devs would charge way more for those types of options
-TeaM VeNuM Like A Boss
-Galaxy Note II Edition

[MOD] [TWEAKS] Thunderbolt Mod for Smoothness, Performance & Battery improvements

[MOD] [TWEAKS] Thunderbolt Mod for Smoothness, Performance & Battery improvements
Introduction -
This thread is intended to introduce Thunderbolt! Mod by @pikachu01 to Galaxy SIII users. (I did ask for and got Moderator permission due to perceived duplicate nature of the thread.)
First and foremost, here is the Original Thunderbolt thread. I do not take credit for the mod. All thanks go to @pikachu01.
Practically all the D2TMO/D2ATT/D2SPR/D2VZW users are using one version or other of Jelly Bean. So, although the original thread covers anything from Gingerbread to Jelly bean, I wish to provide a simple set for JB specific usage. Another reason for this thread is to explain what this mod does so that the average user understands what's going to happen and also be able to distinguish with other Mods. I have personally used this mod and given that I understand the underlying principle, I strongly recommend this mod.
Benefits -
Better performance through Linux kernel tweaks catered for Android OS and flash memory.
Better battery life through usage of screenstate_scaling whereby it switches thresholds/VM tunables depending on your screen state.
Better performance for database writes as fsync is not utilized any more.
Better network throughput from TCP tweaks and 3G tweaks.
Less RAM usage through zipaligning of all the apps.
Reduced /dbdata, /data, /sdcard usage of *.db files and faster database access through defragmentation of sqlite db files (a lot of apps use Database to store data like Swype dictionaries, Game saves etc)
Faster disk access through remount script (noatime, disable barrier etc)
What does it do -
I will try to explain as simply as possible what the mod does. This will help clarify for the first timers as well as experts.
Partition Remount – Each Partition is Remounted with the Noatime option set. This will avoid a Write operation whenever Android reads from disc. Thus improving performance significantly.
Optimizing SQLITE Database– SQLITE is a lightweight database used extensively in Android apps. Its the basis for saving application data and images. For each app, there is a separate instance. With significant write activity, the database gets fragmented and is not on consecutively arranged on the Flash storage. If this is optimized, read operations as well as write operations of every application will significantly boost. Thus improving overall smoothness. However, if you have a lot of applications and each application having lot of data in the database, (For ex. Games, TiBU or Social Media) optimization operation will take some time. Fortunately you don't have to do this frequently. Even once a week will do wonders.
APK Re-Alignment – Each application comes packaged as APK or Android PacKage file. These are internally packaged as an archive. Within the archive, uncompressed data needs to be aligned with respect to beginning of the file. When aligned in this way, the files are read quicker and executed efficiently. This contributes to a smooth experience. Quiet a few apps on Google Play are not aligned when you install. This will eventually contribute to a sluggish and less than optimal experience. Aligning the files once a week will help avoid this. If you tend to install new apps frequently, you might be better off putting this file in init.d, so this will be executed at each boot.
Network Parameter tweaking – In Build.prop, size values of buffers should be increased given higher RAM sizes on these phones. This tweak is pretty well known to most of the people on XDA.
Scheduler Tweaking – This only applies to Kernels that implement CFS Scheduler. Users of KT747 Kernel can ignore this as that kernel does not implement CFS. For those who have it, tweaking the Scheduler parameters knowing the files are zipaligned, will render smoother experience.
Download & Installation -
I highly recommend taking a Nandroid backup before proceeding to flash this mod.
Download Link for the JellyBean Thunderbolt! Mod zip file download Link- JellyBean Version.
Copy the zip file to your SD Card (internal or external).
Install Script manager from Google Play Store. Also optionally install Terminal Emulator (Only needed to verify successful install).
Flash the Thunderbolt! zip in Recovery and then reboot the device.
If you experince Boot Loops, please flash the undo script or restore your Nandroid. Let me know.
Open Script Manager.
Launch S98screenstate_scaling as Root (The Skull icon). If it executes successfully, set it to run at Boot (The Wheel Icon).
NOTE - This script is not compatible with some Roms. Please test it to see if it works with your Rom before setting it to run at boot.
Launch S98system_tweak as Root (The Skull icon). If it executes successfully, set it to run at Boot (The Wheel Icon).
Launch /etc/bolt_scripts/remountNexus4 as Root (The skull icon) and as Boot (The wheel icon).
Note - Given this re-mount is not for US versions of Galaxy S III, you may get errors on the subsequent screen. Ignore them and hit back button.
Launch /etc/bolt_scripts/sqlite_optimize as Root (The skull icon).
Note - This script can be used at anytime you want except at boot so do not set that way (the wheel icon) or from inside init.d. Given it's a very long running script, it will inordinately held up boot up process.
Launch /etc/bolt_scripts/s70darky_zipalign as Root (The skull icon).
Note - This script can be used anytime you want including as Boot (Wheel icon) or within init.d folder. If you copy it to init.d set its permission to rwx-rwx-rwx. Also note, this script is located under bolt_scripts since users with a large set of apps may experience quiet a bit of delay during boot up.
Launch /etc/bolt_scripts/CFS/S98CFS as Root (The skull icon) and as Boot (The wheel icon).
Launch /etc/bolt_scripts/S98TCPbuffers as Root (The skull icon) and as Boot (The wheel icon).
That's it. Enjoy!
PLEASE DO NOT FORGET TO THANKS @pikachu01 at his original thread here.
Reverting/Undoing ThunderBolt!
To revert ThunderBolt!, download the ThunderBolt! Restore.zip
Do note that reflashing your ROM will remove ThunderBolt! as well.
How to find out if it works
Use File Explorer/ Root Explorer/Root Browser, and navigate to
/system/etc/init.d/
There you should find (among other things) s98system_tweak file. That indicates successful flashing of the mod.
The longer method to confirm success, requires executing some commands via Terminal Emulator. Explore these inside the hidden text bellow if you wish.
The way to validate success and effectiveness of this mod is checking on how often the Kernel writes to internal SD card. For one, android scheduler does not perform an immediate write operation when the app requests it. It rather waits till its buffer is full and then does the write. Secondly, given its solid state storage, it is extremely fast compared to your computer. So what we are doing here is modifying the Buffer size in accordance with your Ram. The more the ram, the bigger the buffer.
The third parameter, vfs_cache_pressure actually tells the kernel to favor File System Cache. So the ram will fill up for the File system cache, thus increasing application performance.
So to test, using Terminal Emulator, do the following Steps. Press Enter after each to execute them individually.
To enter superuser mode and then execute,
Code:
SU
sysctl -a | grep vm
You will get a screen like this.
{
"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"
}
​
You are looking for the values highlighted in the screen.
If your phone has 1GB Ram or less, you should see values like bellow,
Code:
vm.dirty_background_ratio = 10
vm.dirty_ratio = 20
vm.vfs_cache_pressure = 50
Since Galaxy SIII has 2 GB Ram, you should expect to see values like this
Code:
dirty_background_ratio = 5
dirty_ratio = 10
vfs_cache_pressure = 50
With the phone screen off, you may use ADB to run the same commands.
Code:
su
sysctl -a | grep vm
ADB should get these values with the phone screen turned off.
For devices with 1GB RAM devices or below, you should see in the output,
Code:
dirty_background_ratio = 20
dirty_ratio = 40
vfs_cache_pressure = 100
For Galaxy S III, given it has 2 GB Ram, you should see,
Code:
dirty_background_ratio = 10
dirty_ratio = 20
vfs_cache_pressure = 100
Q&A REGARDING THE MOD -
Please note, there are also following MODs compatible with Galaxy SIII, that I am aware of. However they differ from this mod. So I have given a short Summary of the distinction between those mods and this one.
1. How is this different from Crossbreeder ? So which Mod is better ?
Crossbreeder by @idcrisis is a mod that focuses on better implementation of DNS Catching and Parallalization of DNS queries. It also improves on tethering and blocks Ads. Last but not the least, it also modifies Entropy levels like Seeder.
What Thunderbolt does, is more on installed Apps and disk I/O improvement. So those two MODs can co-exist just fine and do not conflict or have overlapping functionality.
2. How is Thunderbolt different from V6 SuperCharger Mod by @zeppelinrox ?
V6 Supercharger focuses on invincibility of the Android Launcher. This could be any Launcher you are using as default. It also tweaks significantly to Android's Low Memory Management (AKA Low Memory Killer). This latter will significantly improve Multitasking capabilities.
As you see, this too is quiet different from what Thunderbolt does. So there is no overlap or competition per se. You can implement both at the same time.
2. How is Thunderbolt different from Operation Killjoy Mod by @Exit_Only ?
I am investigating the compatibility. Until then Unless noted, the two are not compatible with each other.
Note - If I have not mentioned a compatible Mod, then please let me know and I will be more than happy to post it here.
Running Dandroid. I flashed the mod and it gets stuck on bootscreen
Sent from my SGH-T999 using xda app-developers app
Supamike88 said:
Running Dandroid. I flashed the mod and it gets stuck on bootscreen
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
Thanks for testing.
Do you have a lot of applications installed on your phone ? Also at what step did it get stuck at boot screen ?
Please note, as I said earlier in the thread, while executing boot up script, the phone may appear to be stuck at Boot screen but will eventually come back. It is very important to know at what step it got stuck at boot.
Is this compatible with Killjoy?
Sent from my SGH-T999 using Tapatalk 2
Kama45 said:
Is this compatible with Killjoy?
Sent from my SGH-T999 using Tapatalk 2
Click to expand...
Click to collapse
If you are referring to the Touchwiz Killjoy Rom, yes I believe so.
Please note, given that rom is Touchwiz, the Remount script in op may not work. So please do not set it to run at Boot.
Perseus71 said:
Thanks for testing.
Do you have a lot of applications installed on your phone ? Also at what step did it get stuck at boot screen ?
Please note, as I said earlier in the thread, while executing boot up script, the phone may appear to be stuck at Boot screen but will eventually come back. It is very important to know at what step it got stuck at boot.
Click to expand...
Click to collapse
I downloaded the mod, rebooted into recovery, flashed the mod, rebooted and waited for it to load but it never got past the splash screen. I waited for about 5 minutes
Sent from my SGH-T999 using xda app-developers app
I believe he's referring to the Operation Killjoy script by Team Kernelizer member @Exit_Only and if that's the case then unless stated otherwise, this will not work alongside Killjoy. As of right now the only approved script package to run with Killjoy is Croossbreeder.
Thank you, Luigi. I was referring to Operation Killjoy.
Supamike88 said:
I downloaded the mod, rebooted into recovery, flashed the mod, rebooted and waited for it to load but it never got past the splash screen. I waited for about 5 minutes
Click to expand...
Click to collapse
When you flashed in Recovery, I am sure there was a screen with Script output. I'd love to see what it looked like.
Also before you flashed the mod, did Dandroid happen to have any scripts in init.d folder ? If yes, can you attach them ?
Lastly Can you revert to your Nandroid Backup and try this file instead ?
LuigiBull23 said:
I believe he's referring to the Operation Killjoy script by Team Kernelizer member @Exit_Only and if that's the case then unless stated otherwise, this will not work alongside Killjoy. As of right now the only approved script package to run with Killjoy is Croossbreeder.
Click to expand...
Click to collapse
Thanks Luigi for clarifying. I will add to my Q&A
How ungrateful of me.. Thank you Perseus for putting this thread together for us.. Very convenient and well organized. Subscribed! :good:
Where is your DL link?
Sent from my SPH-L710 using TapaTalk 4 BETA
Want to speed up your device? Click here
Exit_Only said:
Where is your DL link?
Sent from my SPH-L710 using TapaTalk 4 BETA
Want to speed up your device? Click here
Click to expand...
Click to collapse
Are you viewing through browser or XDA app? It's not visible on the app but if viewing through your preferred browser it's right underneath Download and Installation.
Exit_Only said:
Where is your DL link?
Click to expand...
Click to collapse
Fell trap to my own irritation.
I have set the color correctly to show the link in the OP. Also this link gives the Mod zip file. This other link will give you UNDO File to Remove the mod.
LuigiBull23 said:
How ungrateful of me.. Thank you Perseus for putting this thread together for us.. Very convenient and well organized. Subscribed!
Click to expand...
Click to collapse
Its all good Luigi. Thanks for the kind word.
Supamike88 said:
I downloaded the mod, rebooted into recovery, flashed the mod, rebooted and waited for it to load but it never got past the splash screen. I waited for about 5 minutes
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
Same thing here... I got stuck at the splash screen.
Using a LG L9 (p769), rooted, CWM installed, busy-box installed, init.d installed.
Used to work with the original Pika's version...
damathos said:
Same thing here... I got stuck at the splash screen.
Using a LG L9 (p769), rooted, CWM installed, busy-box installed, init.d installed.
Used to work with the original Pika's version...
Click to expand...
Click to collapse
I do assume you have Jellybean on your L9 ? Unlike original Pikachu's version, this is JB specific.
Like I asked the other poster,
1. What Rom & Kernel are you running ?
2. would you please provide the screen from Recovery that shows outcome of the flash ? (Typically you get to save the script output as text.)
Perseus71 said:
I do assume you have Jellybean on your L9 ? Unlike original Pikachu's version, this is JB specific.
Like I asked the other poster,
1. What Rom & Kernel are you running ?
2. would you please provide the screen from Recovery that shows outcome of the flash ? (Typically you get to save the script output as text.)
Click to expand...
Click to collapse
Rom is stock (760 20f), using Jelly Bean 4.1.2
damathos said:
Rom is stock (760 20f), using Jelly Bean 4.1.2
Click to expand...
Click to collapse
Appreciate if you can attach Recovery Log for Flashing Process.
OP and MOD UPDATED since some users experienced Bootloops.

[TOOL][v1.2.0] Batch Deodexing Tools using Android Device

[Tool/Utility][v1.2.0]Apktool Mobile Batch Deodexing - Run Batch Deodex Jobs Using Your Android Device!
*** Disclamer
Your device is shipped without root for a reason. Modifying system files that are normally off limits carries the risk of being caught in a situation where you will be unable to fix the damage unless you plan ahead.
It is wise to not proceed unless you have a means of restoring your device in the event of a catastrophic event and that you are confident in your ability to restore any issues you create.
I am not and will not be responsible for any harm that may come to your device or to your sanity as a result of **** up.
For more on what's expected, new members should help themselves to the video below.
Description
A toolset for performing batch deodexing straight from your device. Comes installable as a flashable zip and can easily be modified by advanced users to suit their needs. Just drop all your odex and corresponding archives into a folder and run one simple terminal command (or use Linux Script Handler within your File Manager) and deodezed versions will be outputted to a separate folder.
I wrote this because Apktool Mobile lacks any batch features.
COMPATIBLE FOR ALL ANDROID DEVICES RUNNING ICS OR LATER!
Project is just listed here because I had to choose a location specific to a certain device when creating the project. Mods, feel free to move if desired.
Learn more about deodexing and the differences between an odexed system and deodexed system
Installed Files/Directories:
/sdcard/bdt - Directory with our smali and baksmali jars as well as directories to place batch jobs in as well as output folders. There is a readme in each folder describing it's function.
/data/misc/bdt - Directory which contains the Java Runtime Environment as well as all dependent libraries.
/system/bin - Two scripts are installed here. The first is "bdt" and contains all path variables in case you need to edit a path (ex. you download newer smali/baksmali versions to use, or change the name of the bdt directory on your /sdcard). This also contains wrapper functions athat do all the work. The second file is "batch-deodex" and once you have placed your odex (and corresponding apk/jar) files into the /sdcard/bdt/files-to-deodex folder open a command prompt and run this script to deodex all the odex files into dex files and then insert into the corresponding archive.
{
"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"
}
Installation Instructions and Usage
Download the latest version from one of the hosts in the downloads section and simply flash it in recovery. You could always manually extract the contents but then you'd also have to chmod quite a bit to set the permissions.
To uninstall, flash the uninstall zip that's also in the downloads section, or manually delete /system/bin/bdt, /system/bin/batch-deodex, /data/misc/bdt folder, and /sdcard/bdt folder.
Batch baksmali/smali
To run a batch decompile, move your odex (or deodexed apk or jars) files into /sdcard/bdt/files-to-deodex and fire a command prompt up and type:
Code:
su
. /system/bin/bdt # Import paths and functions
batch-baksmali
The source folders will be outputted to /sdcard/bdt/smali-source.
To compile a batch of deodexed source folders we just do essentially the same thing. Open up a command prompt and type:
Code:
su
. /system/bin/bdt
bbdth-smali
Doing so will create a dex file for each source folder and this will be outputted to /sdcard/bdt/dex-out.
Batch deodexing
Performing a batch deodex works much the same way. Copy all the odex files and their corresponding apk or jar into /sdcard/bdt/files-to-deodex then open a command prompt up and type:
Code:
su
# no need to import anything for this
batch-deodex
Just that easy. The script may take a while depending on how many files you're deodexing just as with the other scripts so if running a lot be patient.
The deodex script moves all odex files to ../files-to-baksmali and then calls batch-backsmali. Then the script calls batch-smali to create the dex files. After that's done it enumerates through the dex files and finds each one's corresponding archive and once it does it uses the
Code:
zip -jq {archive} classes.dex
to insert classes.dex into the archive without extracting anything or changing any compression settings, etc.
Once complete you'll have your deodexed archives and the script cleans up all other directories. The other two scripts don't do this.
Known Issues
-- Discovered that some ROMs are telling me that my scripts don't exists when they very well do, so of you are seeing a "sh: {scriptname}: The file or directory cannot be found" then just run by using the Linux Script Handler within your File Manager until I figure this out or until the ROM dev gets in touch.
-- I just discovered this error while preparing these test screenshots. It didn't effect the deodexing process though but I'll look into fixing this tomorrow. UPDATE: Haven't looked into this yet as it has no effect on the outcome. I think it's occurring because on the final loop when running a batch and when all is finished it still runs one last time, thinking it's looking for a jar file. Once I get these other minor details done I'll publish on github. Actually there is published code there now, but ir needs to be removed and updated.
Downloads
Batch Deodex Tools 1.2.0 - Box
Batch Deodex Tools 1.2.0 - Dropbox
Uninstall ZIP for 1.1.0
Changelog
Code:
1.2.0 Released: -- 08/21/14
-- fixed an issue causing the /sdcard/BDT folder to not be properly flashed
-- some editing made to the scripts in preparation for uploading to github
1.1.0 Released: -- 06/26/14
-- turned into a stand alone project
-- optimized the scripts
-- flashable in recovery
-- also created flashable zip to uninstall
1.0.1 Released: -- 06/21/14
-- initial release
TO DO
-- Migrate the JRE off /data/... to prepare for Android L. Was going to move to /data/app-lib where it probably should have been to begin but no point now, so will remain in /data/misc/bdt for the time. Rwas more in the Addendum in second post
-- Add Box, Dropbop, and Mega hosts as well. Well having just a Drive and Box host should accommodate the demand. If the demand increases I'll adjust accordingly.
-- Publish code to github.
-- Scratched making this into an APK... Having it as is makes it easier for advanced users to make modifications (use custom files, etc) on the fly
Thanks To/Credits
Code:
* Brut.all for giving us apktool and much more
*
XDA:DevDB Information
Batch Deodex Tools - Android, Tool/Utility for the LG G2
Contributors
MidnightHarvester
Version Information
Status: Stable
Current Stable Version: 1.2.0
Stable Release Date: 2014-08-21
Created 2014-06-22
Last Updated 2014-08-21
Reserved
APPENDUM
Consider this a diary. Dates are when the thoughts or discoveries hit me, not release dates
Aug 15 - After modifying the tookset so it"s Android L ready by moving the JRE to /system/{wherever}, after flashing now the BDT directory doesn't get flashed to the sdcard. I'll need to do a little fiddling with the updater script, then release it once it's working. Granted you can just manually extract and copy that directory over easily but I'd prefer a fully working flaahable..
Aug 19 - Noticed there has been updated smali and baksmali jars, so either an incremental update and most likely just a patch will be worked I n and releaaed. Because of the update I'm also looking at any other files that may have been updated.
Aug 20 - I've discovered that on some devices (specifcally, CloudyG3 1.3), that t
here arr some issues running the scripts via terminal as apparently ... they don't exist. Executing them via Linux Script Handler within a File Manager should work until I figure this out)
Aug 20 - Releases will be migrated over time to my Box account, probably Dropbox account, as well as Mega. Archived releases will also be uploaded, and the OP will be updated as each is moved.
Aug 21 - Fixed a bug preventing the /sdcard/bdt directory from being installed on flash. Also made a few revisions to the code, nothing spectacular. Also uploaded to Box and Dropbox and ditched the Drive host. Incremental update to 1.2 0.
Good job buddy. Keep it up. Will give a try it soon.
Sent from my GT-I9100 using Tapatalk 2
Thanks! I'll be publishing an update in a day or so. I'm creating a stand alone project that won't require root. Right now root is required because the scripts need to access the JRE bin that's located in the data directory of apktool. I'm moving JRE lib (and Java binary) and smali and baksmali jars into a flashable zip.
It'll also be a lot easier to maintain this way. I completely killed my phone yesterday while cleaning up the scripts. After doing a batch deodex as it is now it will clean up the working directories and delete
everything except the deodexed archives.
I modified the paths hoping to create less work in the long run and after testing the modified script by phone rebooted back up and I got "unable to find setup" message and a blank screen. I must have left a "/" off of a path and ended up wiping everything in /sdcard/ ?
The error on boot was caused by the fact I always delete the LG setup app as I never anticipate deleting my SD card. So I was stuck at a black screen with nothing to restore since I wiped the SD card.
Eventually I realized I could pull the notification bar down still, and make it into settings by long pressing a quick toggle. Once I discovered I could open Google Now after enabling it in search settings I was in my way since I could use that to open Chrome and Root Explorer, etc.
I ended up restoring my system back and just wiped /data as well since I already wiped my SD card. Then spent the rest of the day restoring my device and luckily I had most everything backed up onto Drive.
Needless to say no changes were published in yesterday. I can imagine the backlash I would have gotten if I did lol. If I had a penny for each time I've mucked my device up while working on something I'd have, well maybe a dollar but still that's a lot
It shouldn't take long to get the standalone build out. I don't plan on turning the standalone build into an apk though as its easy enough to run via terminal emulator or file manager and take up far less space.
Sent from my VS980 4G using Tapatalk
I'll find another host to upload the install zip to as well as the Drive host in the OP. The zip is too large to attach here. I hope this simplification over installation appeals to more ?
Version 1.1.0 is now live. Installation boils down to just flashing the install zip in recovery. Read OP for additional information on how to use it.
Dang man! You beat me to it hahaha! I had started on this as a personal project for myself earlier today. However, I am wanting to just implement the process strictly through the recovery and by locating/finding all .odex files in my system to later deodex and place back accordingly all without me touching a thing but just running the script. I'm currently digging through your work right now to see if anything may be helpful for what I am aiming to do. Nevertheless, greatly appreciate you sharing this project.
How do you make an odexed apk into am installable apk? I wanna take the LG QVoice apk from an odexed rom and be able to install it like a normal app without having to add it to /system/app or /system/priv-app. Would just deodexing the apk do that?
Skizzy034 said:
How do you make an odexed apk into am installable apk? I wanna take the LG QVoice apk from an odexed rom and be able to install it like a normal app without having to add it to /system/app or /system/priv-app. Would just deodexing the apk do that?
Click to expand...
Click to collapse
You would most likely need to deodex that app and then install it via /data/app.
Make sure that system app you are referring to doesn't use any lib files or other dependencies. Some system apps do and it would be needed to port them over to your device for them to work (and possibly some work on the app itself once decompiled).
Sent from my C525c using Tapatalk
Modding.MyMind said:
You would most likely need to deodex that app and then install it via /data/app.
Make sure that system app you are referring to doesn't use any lib files or other dependencies. Some system apps do and it would be needed to port them over to your device for them to work (and possibly some work on the app itself once decompiled).
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
Yea I didn't think of lib files for that app. It makes sense it would need it. Thanks.
Modding.MyMind said:
Dang man! You beat me to it hahaha! I had started on this as a personal project for myself earlier today. However, I am wanting to just implement the process strictly through the recovery and by locating/finding all .odex files in my system to later deodex and place back accordingly all without me touching a thing but just running the script. I'm currently digging through your work right now to see if anything may be helpful for what I am aiming to do. Nevertheless, greatly appreciate you sharing this project.
Click to expand...
Click to collapse
That's an awesome idea bro. You'd need the jre in /data/misc/jdr somewhere. You may be able to run it off the scars in recovery since you can set permissions to the /sdcard mount there but not sure.
Create a script that 'finds' all odex files system wide and corresponding archive files and use the run_program edify script command to run the script so that you can deodex everything from recovery with one slide of a button.
There's not too much that would have to be changed in the script other than changing some of working directory variables as you go. Be careful in the batch-deodex script if borrowing from that as that deletes all odex, apk, and jar files in the /BDT/*/ except for the readme files.
Edit: If you need any advice or help on that project hit me up, as I could probably get it working by the end of the day. Well sooner not this day as my son is here but tomorrow.. Sorry I didn't comment the script that much but there wasn't really much to comment, so I mainly just commented the paths.
MidnightHarvester said:
That's an awesome idea bro. You'd need the jre in /data/misc/jdr somewhere. You may be able to run it off the scars in recovery since you can set permissions to the /sdcard mount there but not sure.
Create a script that 'finds' all odex files system wide and corresponding archive files and use the run_program edify script command to run the script so that you can deodex everything from recovery with one slide of a button.
There's not too much that would have to be changed in the script other than changing some of working directory variables as you go. Be careful in the batch-deodex script if borrowing from that as that deletes all odex, apk, and jar files in the /BDT/*/ except for the readme files.
Click to expand...
Click to collapse
Thanks. I had already set up my project folder along with my deodex script before I came across this thread (what were the odds lol). Was having issues getting the script to work at all until I looked at yours and notice you were exporting the LD_LIBRARY path. I implemented that idea in my script and now I'm getting a few failures for linking executables based on certain commands such as grep for example.
The script is a combination of premade works from different people which I have put together as followed. Currently, the script is a bit rough on what I am aiming to do but my goal for now is to get it to successfully find and deodex all necessary files. Once accomplished, I will proceed forward.
Script:
PHP:
#!/sbin/sh
cd $(dirname "$0")
DEODEXED_APK="/data/DEODEXED.log"
if [ ! -f $DEODEXED_APK ]; then
busybox touch $DEODEXED_APK;
fi;
prop="/system"
smalibaksmali_dir="/data/local/tmp/smali"
java_dir="/data/local/tmp/jvm/java-7-openjdk-armhf/jre/bin/java"
#tmp="$(dirname "$1")"
export LD_LIBRARY_PATH="/data/local/tmp/jvm/java-7-openjdk-armhf"
# Deodexes every .odex file
DEODEX() {
local API="$(busybox grep "ro.build.version.sdk" "$prop/build.prop" | busybox cut -d'=' -f2)"
echo "Detected API level $API" >> $DEODEXED_APK
busybox find "$prop" -type f -iname "*.odex" | while read line; do
local FILE="$(basename "$line")"
local FILEDIR="$(dirname "$line")"
echo "Deodexing $FILE" >> $DEODEXED_APK
echo "Disassembling $FILE..." >> $DEODEXED_APK
$java_dir -Xmx512m -jar $smalibacksmali_dir/baksmali-2.0.2.jar -a "$API" -d "$prop/framework" -x "$FILEDIR/$FILE"
if [[ $? -ne 0 ]]; then
echo "ERROR DEODEXING $FILE, ABORTING!" >> $DEODEXED_APK
rm -rf out
return 1
fi
echo "Assembling into classes.dex..."
$java_dir -Xmx512m -jar $smalibacksmali_dir/smali-2.0.2.jar -a "$API" -o classes.dex out
if [[ ! -e classes.dex ]]; then
echo "ERROR DEODEXING $FILE, ABORTING!" >> $DEODEXED_APK
rm -rf out
return 1
fi
FILE="$(busybox echo "$FILE" | busybox rev | busybox cut -d'.' -f2- | busybox rev)"
local FOUND=0
for EXTENSION in "jar" "apk"; do
if [[ -e "$FILEDIR/$FILE.$EXTENSION" ]]; then
echo "Packing back into $FILE.$EXTENSION..."
zip -rq "$FILEDIR/$FILE.$EXTENSION" classes.dex
rm -f classes.dex
FOUND=1
break
fi
done
if [[ "$FOUND" -eq 0 ]]; then
echo "ERROR, No output found?!"
rm -rf out
rm -f classes.dex
return 1
fi
rm -f "$line"
rm -rf out
done
echo "Deodexing finished"
}
# Start Processing Here
DEODEX
Sent from my C525c using Tapatalk
Saved while I read script after kid stops jumping on me lol
LD_LIBRARY_PATH threw me off to. Somewhere in java or bad small or small expects it to point to the data/data/per.pqy.apktool/lix files.
MidnightHarvester said:
Exporting LD_LIBRARY_PATH and pointing that to wherever you have the lib files stored which in apktool are in /data/data/per.pqy.apktool/lix is key cause either java or baksmali or small reference that Android environment variable.
That took me a while too until I realized what I needed to do. You can cut down on size quite a bit and copy the lib files in /data/misc/bdt in my project as those are the only ones needed for smali and baksmali. With that figured out you'll have it done in no time. You could always flash these tools and then make a script like
Code:
# import my 'bdt' script
. /system/bin/bdt
# copy all odex, apks, and jars into files-to-deodex - could
# use lath variables instead of full pathnames
cp /system/app/. *odex /sdcard/BDT/files-to-deeodex
cp /system/app/. *apk /sdcard/BDT/files-to-deeodex
cp /system/priv-app/. *odex /sdcard/BDT/files-to-deeodex
cp /system/priv-app/. *apk /sdcard/BDT/files-to-deeodex
cp /system/framework/. *odex /sdcard/BDT/files-to-deeodex
cp /system/framework. *apk /sdcard/BDT/files-to-deeodex
# call batch-deodex function
batch-deodex
Then make sure all the deoxed archives are in the deodexed-out directory and if check a few make sure classes. dex are in them lol. Then if running from recovery, copy the new deodexed archives into appropriate places and set permissions (recursively unless you're insane ).
Sounds a lot like what you're doing though. Also gives me an idea for version 2 which also gives the option to deoxed the entire system and then create a flushable zip with all the deodexed archives inside. Will probably work on that tomorrow after my son is gone. Keep me posted ed on the progress on your work though as I haven't had much in out back regarding this.
Click to expand...
Click to collapse
I like your idea about making a flashable zip once it is done. I have it working now.
I made a small typo which resolved my earlier problem.
I used "smalibaksmali_dir" as my variable which pointed to the smali directory.
However, later in my script I spelled 'bak' with a 'c' - smalibacksmali_dir.
I will keep you posted man. I was shocked when i found your thread because prior to I had spoken with a relative about my project and how it appeared no one had done this. Then I found you lol. Kudos for your work bro.
Sent from my C525c using Tapatalk
---------- Post added at 07:54 PM ---------- Previous post was at 06:58 PM ----------
Here is a screenshot with my personal script/project running.
Sent from my C525c using Tapatalk
@MidnightHarvester, my script is working great now. However, I noticed that this bogs down the device greatly. To deodex the Rom from the device will take WAY TOO LONG then if you were to do so using a descent computer. However, if merely deodexing an app here or an app there then it's fine and tolerable but not for all *.odex files at once lol.
There has to be some way to make this move along faster. Otherwise, the wait begins for phones with better processors and more ram.
Sent from my C525c using Tapatalk
Modding.MyMind said:
@MidnightHarvester, my script is working great now. However, I noticed that this bogs down the device greatly. To deodex the Rom from the device will take WAY TOO LONG then if you were to do so using a descent computer. However, if merely deodexing an app here or an app there then it's fine and tolerable but not for all *.odex files at once lol.
There has to be some way to make this move along faster. Otherwise, the wait begins for phones with better processors and more ram.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
I'm pretty sure that the scripts are only utilizing one thread (unless I'm mistaken). Is there a way in bash to start a new thread or at least call on a binary and pass over a callback function? I'll have to look into it.
When I deodexing my /system/priv-app folder I just let it run overnight. There isn't anything really in the script I can do to speed things up much as the majority of the work is being used during the baksmali and smali calls.
That's one reason I didn't echo any output like your script did which I really wanted to but I've found that things tend to run faster without output being sent to stdout. Might not be a huge hit but...
Maybe if I an get it to deodex in recovery nobody would be competing for resources? Definitely keep updated on the thread as this isn't anywhere near done yet.
I'm glad I found somebody else working on this. For a while I thought no one was that interested since there has been PC tools to do this for ages. Problem is for some (like myself) is that THIS is my PC .
I'm trying to think on how to speed things up and drawing a blank. There aren't enough odex files in all of /system for there to be issued with looping. I think the baksmaling and smaling just take time. Take a look at Matt's old Privacy Blocker app (same Matt that developed xUltimate deodex tools on PC). It takes ages to baksmali and smali there as well.
My first early version though was even worse. I actually was decompiling resources as well in the archive and creating a smali folder and moving the decompiler source as well into there and recompiling the entire apk/jar lol. Don't ask me why.
I need to borrow an idea from you as well and let the user set API level. Normally omitting it should be fine (defaults to latest doesn't it?) but having the choices might help of anyone comes across a picky app.
In the meantime if deodexing am entire folder I'd recommend just doing it at night while you sleep. If you can, use a tool to enable all four cores and set all cores to performance mode and leave the Ax plugged in. *shrugs* I have AIDE installed so if I can get into the baksmali/smali source code maybe I can at least have a look.
Edit: I'm running a multithreading test now. You can run a command in another thread by placing '&' after the command. If it works I'll update.
@MidnightHarvester, I too use my device as it were my own computer which is why I make up the things which I do lol. Seems we have much in common. I actually learned about the idea of using multithreads with '&' just the other night as I was researching for ways to optimize my script. Another method is to use 'wait' which will put any future commands on hold until the current one is finished. That should out less stress on the cpu. Another idea is to limit the use of pipes. The more pipes being implemented the more usage the cpu has to dish out.
I believe flashing and running this in the recovery may speed this up as you mentioned that it would required less resources being used during operations, but the question is how much would the improvement be lol.
Keep me updated with using multithreads and feel free to take away whatever you find to be useful from my deodex script.
Expect many future changes to it to optimize it as much as possible.
In addition, using 'while read line' can increase the performance on speed if the following commands afterwards are not causing an overhaul.
Sent from my C525c using Tapatalk
---------- Post added at 03:10 PM ---------- Previous post was at 03:04 PM ----------
I will be pushing my project to my github later on today. Will be easier to keep up with any changes I make. Will take note in README.md that the project is still in development and to use with GRAVE caution lol.
Sent from my C525c using Tapatalk
---------- Post added at 03:13 PM ---------- Previous post was at 03:10 PM ----------
It's ashame I don't currently have any way to build the smali/baksmali sources from my phone.
Need to look in to it and see if any flags could optimize the final build to produce a more proficient workload in performance.
Sent from my C525c using Tapatalk
So, I am working on getting my project to work in the recovery. Looks like some troubleshooting is in store.
From my recovery.log:
Code:
about to run program [/tmp/deodex.sh] with 1 args
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "busybox"; caused by library "libc.so" not found
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "busybox"; caused by library "libc.so" not found
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "busybox"; caused by library "libc.so" not found
Detected API level
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "busybox"; caused by library "libc.so" not found
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "sort"; caused by library "libc.so" not found
Deodexing finished
CANNOT LINK EXECUTABLE: could not load library "libc.so" needed by "busybox"; caused by library "libc.so" not found
run_program: child exited with status 1
Sent from my C525c using Tapatalk
---------- Post added at 05:33 PM ---------- Previous post was at 05:00 PM ----------
Resolved my problem. Export path for sbin was being overwritten by the script so it prevented busybox from being used. To resolve it you just need to insure that sbin is included to the path as well.
Edit: this was tested with TWRP
PHP:
export LD_LIBRARY_PATH="/sbin":"/tmp/jvm/java-7-openjdk-armhf"
Sent from my C525c using Tapatalk
:cyclop
Modding.MyMind said:
I like your idea about making a flashable zip once it is done. I have it working now.
I made a small typo which resolved my earlier problem.
I used "smalibaksmali_dir" as my variable which pointed to the smali directory.
However, later in my script I spelled 'bak' with a 'c' - smalibacksmali_dir.
I will keep you posted man. I was shocked when i found your thread because prior to I had spoken with a relative about my project and how it appeared no one had done this. Then I found you lol. Kudos for your work bro.
Sent from my C525c using Tapatalk
---------- Post added at 07:54 PM ---------- Previous post was at 06:58 PM ----------
Here is a screenshot with my personal script/project running.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
No probs cyclops. Between family I don't get a chance to get on hereuch but that's all changing here Very soon. I really glad you're taking off where i left off. I saw that there's a GUI out now I haven't read the thread yet so not sure if it's your work or not, but I'm glad others are running with it. Beauty of open source. I rewrote a lot and published to github under GPL but unfortunately during the rewriting I broke something and haven't been back to fox it yet.
I need to as yje code is streamlined as well as being on github open where all can see and make commits. I would get on that but it seems the GUI version has taken off and this is more for legacy but who knows
I also noticed someone else had a btch deodex script published on github though no as robust but I should have borrowed off him instead of reinventing the wheel. Too bad I didn't see that until later.
Inteied my luck at multithreading the shell commands but that would require a LOT of counters keeping track of example which processes are still decompiling and which are recompiling to avoid collisions, so I lwdr it be for now. And now that the GUI is out maybe ibcan lend a hand there if needed.
Is the GUI just a command line GUI or an actual app?I'll look when done reading. If it's an actual app multithreading would be much easier and i wouldn't mind helping out on the team. If its a shell GUI like old Windows apktool versions I commend you. Takes patience to mundnely write out the interface
Either way glas there's interest and happy others with more time to devote can carry on.
@MidnightHarvester
Hello sir,
I'm trying to decompile settings.apk with apktool for android. It won't do it correctly, and I'm wondering if it's because it should be deodexed first. The only 2 I've been able to recompile are htc-resources.apk and framework-res.apk on HTC Evo 3D 4.0.3ics
That's first question, will be able to recompile settings after deodex?
I don't understand this command,
. /system/bin/bdt
bbdth-smali
Are these on one line, separate?
I'm fairly new to modding, will you help me please?
The commands listed, when pasted into terminal, errors a lot. Using SManager to run works, but what is got from it isn't a deodexed app.-
When running batch-deodex(I'm using bdt from v.1.1.0 because it throws out several errors with bdt from v.1.2.0, I haven't looked through it, so I'm not sure if it's just not echo ing them), well, first I put the settings.apk in files-to-deodex folder, create odex of it in apktool(is this right thing to do?) Settings.odex is created in same folder, then ran batch-deodex.
The exact same settings.odex is placed into files-to-baksmali. And same settings.apk is placed in deodexed-out. In the dex-out folder are same 2 files called classes.dex and Settings.dex. and in the smali-source is Settings folder with a boat load of smalis.
After it's done:
exec sh '/system/bin/batch-deodex'
in/batch-deodex' <
rm failed for -rf, No such file or directory
rm failed for -f, No such file or directory
cp: can't stat '/sdcard/BDT/files-to-deodex/*.jar': No such file or directory
rm failed for -f, No such file or directory
rm failed for -f, No such file or directory
rm failed for -f, No such file or directory
rm failed for -f, No such file or directory
rm failed for -f, No such file or directory
And here's the log
Error occured while loading boot class path files. Aborting. org.jf.util.ExceptionWithContext: Cannot locate boot class path file /system/framework/conscrypt.odex at org.jf.dexlib2.analysis.ClassPath.loadClassPathEntry(ClassPat h.java:217) at org.jf.dexlib2.analysis.ClassPath.fromClassPath(ClassPath.jav a:161) at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:59) at org.jf.baksmali.main.main(main.java:274)
What am I doing wrong?
How do I get to having deodexed app?
Sent from above using xparent tapatalk blue

Categories

Resources