I couldn't post my question in the either the thread for the script itself or the guide so I thought I'd ask here instead.
I tried running the V6 Supercharger script and modified the services.jar file using the Jelly Screamer script provided in the script thread because it was mentioned that the automatic process might not work for newer ROMs.
I followed the instructions and replaced the services.jar file with the modified one and then started the V6 Supercharger script, followed the flow of the script and cleaned dalvik cache + reboot at the end.
After the reboot finished I ran the V6 supercharger script again and it said that I'm only 50% supercharged even though the services.jar has been replaced with a modified one.
Does this mean the services.jar hasn't been properly modified?
Mucchan said:
I couldn't post my question in the either the thread for the script itself or the guide so I thought I'd ask here instead.
I tried running the V6 Supercharger script and modified the services.jar file using the Jelly Screamer script provided in the script thread because it was mentioned that the automatic process might not work for newer ROMs.
I followed the instructions and replaced the services.jar file with the modified one and then started the V6 Supercharger script, followed the flow of the script and cleaned dalvik cache + reboot at the end.
After the reboot finished I ran the V6 supercharger script again and it said that I'm only 50% supercharged even though the services.jar has been replaced with a modified one.
Does this mean the services.jar hasn't been properly modified?
Click to expand...
Click to collapse
Short answer is: Yes! It's not properly modified! Most likely missing some sections
Related
Here's an alternative way to gain more RAM and performance without odexing.
Get more RAM and faster responses by disabling verify-bytecode!
This process will usually give just as much as performance boost as odexing SYSTEM and USER app.
Click to expand...
Click to collapse
AS WITH ANY MODDING PROCEDURE/SCRIPTS FOR YOUR PHONE, THIS SCIPT ALSO COMES WITH NO WARRANTY. AUTHOR HOLDS NO RESPONSIBILITY FOR ANY DIRECT AND INDIRECT CONSEQUENCES OF RUNNING THIS SCRIPT. MAKE SURE YOU HAVE MADE A NAND BACKUP BEFORE PROCEEDING. MAKE SURE YOU HAVE AT LEAST 15% FREE ON /SYSTEM, THIS IS IMPORTANT BECAUSE IF YOU RUN OUT OF SPACE THINGS WILL GO BADLY WRONG..
Requires busybox.
If your system partition is almost full, have a look at http://forum.xda-developers.com/showthread.php?t=734236.
This script will *attempt* to odex all apks found at /system/app. Theming would be impossible once the ROM is odexed. Themes applied at the time of odexing will be preserved. If you plan on applying a theme, apply it before odexing. If you want to theme after odexing, you must deodex the ROM before theming. If you change themes often, odexing is not for you.
Quick Instructions for Windows:
Connect the phone with USB cable and enable USB debugging. (No wireless or Android Terminal shell)
Put the phone in airplane mode.
Download and extract the attached file and run odex.bat
Instructions for advanced users:
This attachment contains a folder called odex. Push that folder to data and set the permission of odex.sh to 4755. Mount system as r/w(could be done via adb remount system). Next, execute odex.sh. All of this should be done via USB using ADB shell. Do not use wireless adb or Android Terminal.
Advantages:
More free space in system partition.
Faster booting.
More free RAM(I was able to gain 20-30MB.)
Faster access to system apps.
Disadvantages:
Cannot be themed after odexing.
APK tweaks cannot be applied.
Might break some of the non-AOSP system apps such as Root Explorer if they are installed as system app.
Acknowledgments:
Only the odex.bat was created by me. Similar projects were done in past but most of the downloads are broken. So, I collected together different stuff from different places to put together this package.
adb.exe is from the RATC batch ROOT.
adb dlls are from Android SDK
odex.sh is from Paul O Brian from MoDaCo (pastebin.com/EZLWUdea)
zip, zipalign and dexopt-wrapper are from XDA (http://forum.xda-developers.com/showthread.php?t=734236)
Next aim: Odex for apps in data/app
Update:
I got 1017 on quadrant and 61.8fps on swiftdroid 2.0 M6 overclocked to 844MHz(offline mode with wifi on. No apps except system apps). It must be noted that sometimes odexed ROM performs slightly slower in benchmarks but the difference is very small. However, this does not mean their performance is lower. Odex means apps could load fast thereby making app switching, app loading really fast. And, it also reduces system RAM usage which means more apps could stay in memory making multi-tasking easier. Odexing is something like swap or compcache. Sacrifice something to gain something else. This is for some people who think odexing is useless. The drop in speed is so small that it cannot be noticed without a benchmark but the performance of the phone increases noticeably due to more space in dalvik and RAM.
Nice work.
Few remarks.
1) you need busybox installed for find
2) "busybox --install" defaults to /usr/bin (not available on android)
use "busybox --install ." when you cat-ed it to /system/xbin
Something seems not OK though with the odex.sh script?
Code:
Unable to create './Contacts.odex': File exists
zip warning: name not matched: classes.dex
zip error: Nothing to do! (./Contacts.apk)
Unable to open './Contacts.apk' as zip archive
failed on './Contacts.apk.new' - No such file or directory
Unable to create './VoiceSearch.odex': Permission denied
Unable to create './Music.odex': File exists
zip warning: name not matched: classes.dex
Cheers
Hmm, sorry, I just started to assume busybox is default since the two ROMs of concern(Joe's. Gingerbread and swiftdroid) had busybox.
Those apks are already odexed. You are on a partially odexed rom. Nothing to worry.
tweakradje said:
Nice work.
Few remarks.
1) you need busybox installed for find
2) "busybox --install" defaults to /usr/bin (not available on android)
use "busybox --install ." when you cat-ed it to /system/xbin
Something seems not OK though with the odex.sh script?
Code:
Unable to create './Contacts.odex': File exists
zip warning: name not matched: classes.dex
zip error: Nothing to do! (./Contacts.apk)
Unable to open './Contacts.apk' as zip archive
failed on './Contacts.apk.new' - No such file or directory
Unable to create './VoiceSearch.odex': Permission denied
Unable to create './Music.odex': File exists
zip warning: name not matched: classes.dex
Cheers
Click to expand...
Click to collapse
Sent from my GT540 using XDA App
i just applied a cm7 theme and the rom is still stable and the theme was applied after running the batch file
That depends on the theme. A theme that modifies odexed system apks will break things while an apk that modifies only the unodexed system apks will work. So, for most users, it would be safer to say that you shouldn't apply themes.
Sent from my GT540 using XDA App
First post has been updated.
Sent from my GT540 using XDA App
if you want to get even more ram odex your framework ... On my froyo with odexed framework i got 123mb ram with stock autokiller values This is only odexing system/app so you are able to theme your framework without problems ...
mikegapinski said:
if you want to get even more ram odex your framework ... On my froyo with odexed framework i got 123mb ram with stock autokiller values This is only odexing system/app so you are able to theme your framework without problems ...
Click to expand...
Click to collapse
I will try that. I was trying to odex data/apps. I odexed quadrant apk and saw a small gain of around 1% but it could be purely due to error or differences in conditions.
Framework isn't odexed doesn't mean all themes would work. Some themes modify other apks for more customizations. So, if you apply such a theme, it will break things. Better be safe than sorry. Saying that most themes would work, people might try to flash all themes thinking it won't break anything. It's just safer to deodex before theming. Of course, if you know what theme modify only framework and what theme modifies other apks, this shouldn't be a concern.
Update: odexing framework apk has reduced free memory to 60MB from previous 75MB
Might try add this into my app Root Toolbox if that's ok?
lukemovement1 said:
Might try add this into my app Root Toolbox if that's ok?
Click to expand...
Click to collapse
Hmm. You can but it's not a good idea. I tried odexing via terminal emulator but it fails.
Basically, this would not work if you try via root toolbox or rather it increases chances of being bricked. However, I noticed you had the scripts needed to flash an update.zip. If that's the case, you'll need to prepare an update.zip in real time and flash it via recovery.
http://forum.xda-developers.com/showthread.php?t=734236 This script moves the apps to SD and odexes. You will have to remove the appsupdate.sh and instead create an update.zip from odexed apps in sdcard. My script on the other hand, directly odexes without any user interaction.
On the other hand, I'd be glad to see this being simplified enough to pressing a button in root tool box. Only the bat script is mine. The rest are from other sources. I guess it shouldn't be a problem as long as you give credit to Paul O Brian from MoDaCo and the person who wrote deoxopt-wrapper.
And, btw, I noticed a small issue in your app. It has NO WARNINGS and NO CONFIRMATIONS! This is a real downer for an app like Root Toolbox which could brick your phone. You should ask for user confirmation whenever an user attempts to do a task that might brick your phone.
I am planning on adding the confirmation dialogs as soon as I can get back to my computer. For the odexing at runtime ill see if it works with app that don't have a GUI. If not ill do some kind of update.zip.
I'm on m6 and want to odex including framework how do I do this?
Sent from my GT540 using XDA App
Danzano said:
I'm on m6 and want to odex including framework how do I do this?
Sent from my GT540 using XDA App
Click to expand...
Click to collapse
Read start post.
And, to odex framework, you need to modify the line which says cd /system/app to cd /system/framework in odex.sh and go through same procedure.
I odexed framework but it made my ROM very unstable.
Hmmm maybe not such a good idea then
Sent from my GT540 using XDA App
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
starting odexing...it might take a few minutes to finish...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
this process connot access the file because it is being used by another process...
your device is now odexed
is this right or is something wrong?
what way did you try and odex the rom?
the quick windows way
have you want to the system/app folder to see if any odex files there?
system/apps all apks no odex
try using script manager and set the script to run on boot to see if it work that way.
◄ ▌[24.Jan.13][MOD][Guide] Brainmaster's Tweaks for Android 4+ ▌►
Here is the description of the Tweaks:
Scripts in the /system/etc/init.d folder:
08dalvik - Moves the Dalvik cache from the ext4 /data/dalvik to the faster yaffs /cache/dalvik partition
95zipalign - This is more enhanced zipaligning method. Its zipaligning the apps in the /system/app and /data/app. It also creates the database that contains infos on apps that are already zipaligned, and checks that databe on reboot. If all apps are zipaligned, it skips the zipalign process. Zipaligning is useful because its reducing the amount of used RAM
99bmtweak - Contains the tweaks that I've collected and enhanced over the time. Included are IO tweaks, TCP tweaks, SDCard ReadAhead tweak, SQLite Vacuum Database tweak
hosts file in the /system/etc folder:
Hosts file makes your Phone ADFree.
resolv.conf file in the /system/etc folder:
Google DNS Servers
placeholders in the /system/app and /data/app folders:
If you want to add a system app or install data/app with the CWM Zip file, just drop the apk in the /system/app or /data/app folder in the CWM Zip file and they will be installed when you flash the CWM Zip.
/kernel folder:
Enables the init.d script support.
updater-script in the /META-INF/com/google/android folder:
Deletes the Cache and Dalvik Cache, mounts the /data and /system partitions, copying the needed files. It sets the permissions. If you are editing that file, be SURE to use the Notepad 2 or Notepad ++ and use the Unix file system encoding when saving the file, not the regular Notepad Windows app.
build.prop tweaks Injector in the /tmp folder:
Injects the values in the /system/build.prop file. The /tmp/mytweaks.sh file shouldn't be edited! The file /tmp/misc contains the buildprop tweaks. You can add your own build.prop tweaks in that file.If you are editing that file, be SURE to use the Notepad 2 or Notepad ++ and use the Unix file system encoding when saving the file, not the regular Notepad Windows app, also IF you use comments (#Disable.ADB.Notification.Icon), DON'T use spaces, use ONLY the underline or dot character! These tweaks are included:
Code:
#Disable.ADB.Notification.Icon
persist.adb.notify=0
#Disable.Google.OTA.Checkin
ro.config.nocheckin=1
#Disable.Google.Reports
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
#Enable_Google_DNS_Servers
net.dns1=8.8.4.4
net.dns2=8.8.8.8
#HSPA.Tweaks
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.ril.hsdpa.category=16
ro.ril.hsupa.category=8
#Dalvik.Optimization
dalvik.vm.execution-mode=int:jit
dalvik.vm.verify-bytecode=false
dalvik.vm.dexopt-flags=v=n,o=v
Installation
Step 0: You must be rooted!
Step 1: Download the Busybox installer app and install the Busybox to /system/xbin. Again - install the Busybox to /system/xbin not to /system/bin!
Step 2: Reboot to recovery and install the BM.Tweaks.NEXUS.S.zip file.
Optional Memfree tweak - set to 100 MB:
In order to use the Memfree tweak on every ROM, extract the /system/framework/services.jar from the ROM and upload it to android.mimic.ca, let the site edit the file, download the edited services.jar and put it in the BM Memfree zip file. Then flash the BM Memfree zip in the Recovery.
The attached Memfree zip is for the stock JZO54K ROM.
Optional BM Seeder:
You can read everything about the tweak here.
This is my version adjusted for the Nexus S.
How can I be sure that the tweaks are working?
Open the RootExplorer and click on the /cache folder. IF the dalvik-cache folder is present, THEN the tweaks are working properly. Check also your /system/build.prop file for the #Brainmaster Tweaks area.
The tweaks are universal - not ROM version related, and can be flashed over any ROM but ONLY for NS or NS4G.
Disclaimer:
ALWAYS make a NANDroid Backup of your current ROM so that you can go back if you don't like the tweaks.
I will NOT reply any users PM's regarding this thread or my ROMs, only the DEVs should contact me over PM.
If you are user and have questions, write HERE in the thread.
BEFORE asking any questions, make sure that you read this post.
I have edited the Mobile_Sensei's ROM prepare tool and added the deletion of the /sdcard/.android_secure folder.
Now when you flash new ROM and want to do a clean install, just flash this file.
It does following:
deletes /sdcard/.android_secure
deletes /cache
deletes /data/dalvik-cache
formats /cache
formats /data
formats /boot
formats /system
Happy flashing!
Here you can also find just the Dalvik-Wiper when you're updating your ROM.
Reserved 2.
Reserved 3.
Reserved 4.
Nice!
Sent from my Nexus S using XDA App
Thank you for sharing this
Transmitted from somewhere in space... from my Nexus S... and Tapatalk.
Thanks!
Now I have something more to play with my personal version of MIUI ICS
Thanks man
But I have a question, For the ICS custom rom, most of them come with boot.img and I tried on KANGY-S but i got stock on google sign in the beginning of boot.
So can you tell me which package should I use?
Thx
10char
v2 uploaded.
Changelog: Bugfixes in Build.prop Injector script.
If you are using the /tmp/misc to add your build.prop tweaks DON'T use commented explanations, like this one:
Code:
#Disable ADB Notification Icon
Use only the tweaks!
after heard your announcement yesterday , this kinda makes me feel this is your "legacy"(no offence) ...
and , thanks for share all of these
v3 comes later today.
How do we merge multiple languages in one rom?
djjonastybe said:
How do we merge multiple languages in one rom?
Click to expand...
Click to collapse
When compiling the new ROM, fetch existing language strings and compile.
For existing ROM - like MIUI - decompile apps and framework, add language strings, recompile apps and framework. Language strings need to match every build, you can't use strings from older builds on newer without editing.
Enough said.
Changelog:
v3:
Code:
- Corrected errors in the RAM and TCP Tweaks
- Added Google DNS Servers in resolv.conf and build.prop injector
- Added tweaks for the CM9
@ Brainmaster`s Dude thanks a lot for this release,
Just I want to request something, can you make a package for gingerbread rom which come with boot.img. the one you released i doesnt come with boot.img.
i really appericate it buddy.
frost866 said:
@ Brainmaster`s Dude thanks a lot for this release,
Just I want to request something, can you make a package for gingerbread rom which come with boot.img. the one you released i doesnt come with boot.img.
i really appericate it buddy.
Click to expand...
Click to collapse
Which one? Have you checked if there is already /system/etc/init.d folder present on your ROM?
brainmaster said:
Which one? Have you checked if there is already /system/etc/init.d folder present on your ROM?[/QUOTE
Actually, Im using CM7.2.0 Kang and yes there is init.d folder on my rom, but i couldnt find any of your tweaks in this folder. can i just simply add to the rom using root explorer?
Actually , I meant the first package in the list which is belongs to ICS and gingerbread roms.
Click to expand...
Click to collapse
frost866 said:
Actually, Im using CM7.2.0 Kang and yes there is init.d folder on my rom, but i couldnt find any of your tweaks in this folder. can i just simply add to the rom using root explorer?
Actually , I meant the first package in the list which is belongs to ICS and gingerbread roms.
Click to expand...
Click to collapse
That is strange - so you have installed it through the CWM and yet there are still no tweaks present in the init.d?
Yes, copying them in the init.d folder and setting the permission to 750 also works.
I was always kinda crazy about update-script, if it is really correct while setting permissions and symlinks, so I took the one from wanam's ROM and fixed the wrong lines. It needed just some tweaks, by removing and adding some toolbox symlinks, and removing inexistent files lines. The result is very similar or even the same comparing to the structure when you flash the ROM from odin. I also organized the whole thing, removing useless stuff and making kernel/modem flashing faster.
- This is the META-INF folder used to install full ROMs.
It already comes with su binary and busybox. Delete init.d folder and update-script line if you are not going to use init.d.
I made the changes based on the new XXELKC-4.1.2 firmware.
I've recently found this thread about installing init.d support on every Android version.
I did as advised, there is an init.d folder with the test script installed but there is no post_boot.sh script in /system/etc. I've manually created one, gave the same permissions as init.goldfish.sh but it does not seem to run at boot.
Maybe the filename is not correct. What do you think?
Hi all.
I am developing a magisk module that modifies system/framework/services.jar and some APKs using Magic Mount for Pokemon GO and other games.
I am using the Magisk Module template where I have added relevant files/folders to system.
The APKs I added work successfully.
But the framework .JAR files such as services.jar that I added are not loaded by Android after reboot.
As in, the .JAR files are replaced successfully, but Android exhibits no change, as if it was not using them and using instead the stock .JAR files.
I tried checking via md5sum in the terminal whether the services.jar file had in fact been swapped for the one embedded in my Magisk Module.
It had been successfully changed.
Maybe the OS wasn't loading these .JAR files at all, so as an experiment, I tried swapping services.jar for an empty file.
The phone still booted, and running md5sum and cat confirmed that system/framework/services.jar was an empty file.
My best guess is that framework files are loaded way before system/app APKs, but I found no information regarding my issue via Google.
I hope that someone here could please offer some quick tip or wisdom. Thank you in advance.
P.S.: I checked the open source Magisk modules I could find, and those that used framework .JAR replacements did not implement anything other than the basic template. An example: SonyFramework (My account can't post links yet).
Did you deodex your ROM, or is it a deodexed ROM?
I think you can only patch framework classes on deodexed ROMs.
Fif_ said:
Did you deodex your ROM, or is it a deodexed ROM?
I think you can only patch framework classes on deodexed ROMs.
Click to expand...
Click to collapse
Thank you for the suggestion.
The ROM I'm working on is Stock and Odexed by default.
The .JAR files I am including in the Module are Deodexed mods of the stock ones.
I tried the following as per your reply:
A) deodexing the whole ROM
B) deodexing the whole /system/framework/*
C) deodexing /system/framework/services.jar and removing odex residue (services.odex)
Unfortunately the device won't boot with A or B :S
With C it boots correctly, but the main issue remains.
---
An interesting behavior I found, is that when substituting (stock odex services.jar) with (modded deodexed services.jar),
the /system/framework/oat/arm/services.odex and other odex residue disappears for services.jar.
This along with the md5sum matching the modded version makes me think that maybe /system/framework gets loaded before Magic Mount gets to modify it.
Digging through open source Magisk modules I am yet to find the missing piece.
Thank you for your help Fif_, and to whoever takes the time to read my thread
Have a look at this thread. https://tapatalk.com/shareLink?url=...3793&share_type=t
[MODULE] Smali Patcher 0.8 and compare methods.
The module to replace patched, de-odexed services.jar definitely works.
shoey63 said:
Have a look at this thread (...)
Click to expand...
Click to collapse
Thanks, "Smali Patcher" was indeed a good clue.
What I found in the "Smali Patcher" project:
-> services.odex was being deleted
But I also needed to modify framework.jar
unfortunately there is no "framework.odex" file.
Googling around seems that framework.jar's odex companion is stored in "/system/framework/arm/boot.oat", but boot.oat contains many more unrelated .jars :S
After fully Deodexing the WHOLE ROM, the Magisk Module works.
I wonder if there is a way to remove framework.odex from boot.oat... that would be very useful.
Thank you guys for your help,