[GUIDE] WiFi Country Problem Solving for AOSP, MIUI & others - HTC Sensation

WiFi COUNRTY PROBLEM solving
Hello!
We, who did buy phones from other countries using internet shopping,
instead of joy face the problem of WiFi-service functioning.
WiFi scan not works or shows network; but there is written NOT IN RANGE..
Problem resides in new WifiCountryCode, which phone recieves from our SIM-card.
But this new WifiCountryCode is not known for internal WiFi-program,
so it does not know which WiFi rules use.
During 2 mounth of tries I found following 3 ways to solve:
1. ARHD7.3 ROM has not THIS WiFi problem! Bravo!
(sorry, didn't check previous versions).
2. program WiFi Fix by Fardjad.
This program updates WiFi Country Code on boot and afterwards.
For most ICS roms it works good, for AOSP roms less good.
Requires: before SHUTDOWN or REBOOT WiFi should be turned off.
Slightly annoying.
On AOSP roms first WiFi TURN ON stucks;
needs 1-2 minutes to TURN OFF stucked WiFi and then second TURN ON works.
Greatly annoying!
Current version is WiFix Manager V1.32;
Author promised to solve this problem.
3. in AOSP CM10.1, before starting WiFi, goto
System settings > WiFi > Advanced > WiFi region code >>
and if here is nothing selected (your country not in list), press United States (or Europe?),
then get back from this Advanced menu and only now TURN ON WiFi.
Wifi scan now should work.
...Until next restart....
also before SHUTDOWN or REBOOT you should turn off WiFi to prevent stuck on start..
(this setting is not available in SuperXE 4.2.2 build_6)
********************************************
Buttt.. seems I found solve before WiFix author, YESS!
How this happened:
greatly annoyed, I learned about USB-debugging and Logcats and ApkTool.
here is lines from Logcat (XX replaces new country code):
Code:
D/MccTable( 636): updateMccMncConfiguration: mcc=..., mnc=..
D/MccTable( 636): locale set to null_XX
D/MccTable( 636): WIFI_COUNTRY_CODE set to XX
I/WifiService( 445): WifiService trying to set country code to XX with persist set to true
Where is this MccTable? not found such file..
Web search gives me this:
https://android.googlesource.com/pl.../com/android/internal/telephony/MccTable.java
this IS source, where is written updateMccMncConfiguration code from line 169 to 208.
and actually we need to disable these lines:
Code:
189 if (mcc != 0) {
190 setTimezoneFromMccIfNeeded(context, mcc);
191 setLocaleFromMccIfNeeded(context, mcc);
192 setWifiCountryCodeFromMcc(context, mcc);
193 }
Because Timezone you can setup in settings > Date& Time
and LOCAL parameters are set in most roms in file "/system/build.prop":
Code:
ro.product.locale.language=en
ro.product.locale.region=US
(if not, make it..)
Alternate "mild" edition:
you can disable only line setWifiCountryCodeFromMcc(context, mcc);
and live rest 2 updater lines.
now let me guess, this program code should be inside of some JAR file..
exactly in "/system/framework/telephony-common.jar"
I did decompile this file with ApkTool:
Code:
apktool d telephony-common.jar
it made output as folder "telephony-common.jar.out" and there is file:
"telephony-common.jar.out/smali/com/android/internal/telephony/MccTable.smali"
and inside are above mentioned lines:
Code:
.line 189
if-eqz v2, :cond_0
.line 190
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setTimezoneFromMccIfNeeded(Landroid/content/Context;I)V
.line 191
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setLocaleFromMccIfNeeded(Landroid/content/Context;I)V
.line 192
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setWifiCountryCodeFromMcc(Landroid/content/Context;I)V
.line 195
:cond_0
lets gently change line 189:
Code:
.line 189
goto :cond_0
in newer android, there is also second call to setWifiCountryCodeFromMcc, so comment out it also.
so program will jump over unwanted updates!
now recompile back "telephony-common.jar" with command:
Code:
apktool b -f -d telephony-common.jar.out
and in folder "telephony-common.jar.out/dist" you will find it out.
from original file do copy of directory "META-INF" in new file with any archive manager.
now we should put "telephony-common.jar" in phone.
for this we need:
ROOT access,
with ES_file_manager >Tools >Root Explorer >Mount R/W > mount /system RW,
replace telephony-common.jar and set proper file attributes (-rw-r--r-),
mount /system R
and afterwards do REBOOT.
on new BOOT there will be "Android updates" files ...
AND WiFi problems HAVE GONE!!
Now you even can do SHUTDOWN or REBOOT with TURNED ON WiFi
AND WiFi will connect before SIM card joins GSM network!!!
Tools used:
ADB
JDK
ApkTool
ES file manager
Notepad+ or Edit+
Credits to:
[TOOL/GUIDE GB/ICS/JB] Decompile/Recompile apk | jar | sign + Basic editing xml/smali
in attachments I put:
google_src_code,
patched_MccTable.smali
*************
For SuperXE 4.2.2 build_6 (MD5=2DBDDB534A7CA6DE627EF75FCE3E7CF0)
more steps reqiured.
SuperXE has other "telephony-common.jar" MD5=C8917C386BA7FD24A0203058BFDC17F5,
so we again perform above steps for patch;
See attached file "SUXE_patched_telephony-common.jar"
now we should replace "telephony-common.jar" in phone.
with ES_file_manager >Tools >Root Explorer >Mount R/W > mount /system RW,
replace telephony-common.jar and set proper file attributes (-rw-r--r-),
Extra step 1
click on "/system/build.prop" and open in ES Note Editor;
seek line
ro.product.locale.region=GB
and change GB to US; confirm OK for save file.
mount /system R
Extra step 2
because of first boots, in Settings database is written our country code,
which should be US.
for this: install "Sqlite Editor", run, grant ROOT access. after program finds
& lists databases, look for & open "Settings Storage" > settings.db > global:
find "wifi_country_code", select it and press menu button > Edit Record;
change value to US and press "save"
if this step is too hard for you, from "wipe data, cache, dalvik"... but many
other stuff will be erased..
Now do REBOOT.
on new BOOT there will be "Android updates" files ...
*************
for VIPERS roms you should patch framework2.jar
then
Extra step 1
click on "/system/build.prop" and open in ES Note Editor;
add line
ro.product.locale.region=US
confirm OK for save file.
Extra step 2
because of first boots, in Settings database is written our country code,
which should be US.
for this: install "Sqlite Editor", run, grant ROOT access. after program finds
& lists databases, look for & open "Settings Storage" > settings.db > global:
find "wifi_country_code", select it and press menu button > Edit Record;
change value to US and press "save"
if this step is too hard for you, from "wipe data, cache, dalvik"... but many
other stuff will be erased..
Now do REBOOT.
*************
attached file CM1012_20130806_telephony-common.jar for AOSP CM10.1.2 albinoman887,
which has original telephony-common.jar file with MD5=90521F154A0E37302496D88DA879EA75
*************
attached file CM102_20131028_telephony-common.jar for AOSP CM10.2 albinoman887
*************
attached file CM11_20131119_Albinoman887_telephony-common.jar for AOSP CM11 albinoman887
"mild" patch!
*************
in MIUIandroid framework.jar should be patched; code line is 188;
also copy from old to new archive file preloaded-classes
attached file for MIUIandroid 3.10.25
attached file for MIUIandroid 3.11.15, use this also up to MIUIandroid 3.12.27
*************
attached file Inspiration_v1.0.1_framework2.jar for Inspiration v1.0.1
which has original framework2.jar file with MD5=8f67ad19fe72513489972cbfd76f244c
*************
attached file Elegancia_Sense_4.1_v7.5.0_framework2.jar for Elegancia Sense 4.1 v7.5.0
which has original framework2.jar file with MD5=a9b34b25201d592f41677c94039b520d
*************
attached file CM10_bruce_20130914_framework.jar for CM10 bruce 20130914,
*************
attached file VIPERS1.6.3_framework2.jar for VIPERS 1.6.3,
which has original framework2.jar file with MD5=3d16f3818e0ce6b7fe201f9188408491
*************
attached file ViperS2-0-0_framework2.jar for ViperS 2.0.0,
which has original framework2.jar file with MD5=c7bd6fa8a2f0fd210f21fd223089d094
*************
attached file ViperS5-0-0_framework2.jar for ViperS 5.0.0
*************
attached pack ViperS5-1-0
*************
attached pack ViperS5-2-0
*************
android1234567 accepts this patch already
http://forum.xda-developers.com/showthread.php?t=2320657
*************
CyanogenMod12 by ivanich 20150118
attached pack CyanogenMod12_by_ivanich_20150118_telephony-common.jar
after replacement go to settings > Backup & reset > Factory data reset and RESET PHONE
*************
seems, many people done patch in their sources:
https://github.com/search?utf8=✓&q=setWifiCountryCodeFromMcc&type=Code&ref=searchresults
HTCZ715E!

some tips:
yep, good tip:
on first installation of ROM, start it without SIM-card.
in attachments some patched files per users requests.
added for [ROM][N1] Evervolv Kitkat 4.4
added for [ROM]Cyanogenmod 11 | kernel 3.4 | dominos_liberty
added for [ROM] [4.4.2] [8.Feb 2014] CyanogenMod 11.0 | KitKANG | PRE-ALPHA | v0.5 for HTC Desire

thanks for share working for me !
Sent from my HTC Sensation using xda premium

question
The explained steps are too much; so as I realized we just need to replace the attached files with the original ones; right?

mohammad0089 said:
The explained steps are too much; so as I realized we just need to replace the attached files with the original ones; right?
Click to expand...
Click to collapse
So you want replace MY ATTACHMENTS with original ones??? : : : ) ) )

HTCZ715E said:
So you want replace MY ATTACHMENTS with original ones??? : : : ) ) )
Click to expand...
Click to collapse
yes if i can; i have the same problem which you mentioned; so can i replace them in all cyanogen mod roms?:

mohammad0089 said:
so can i replace them in all cyanogen mod roms?:
Click to expand...
Click to collapse
patched_AOSP_telephony-common.jar file is for AOSP CM10.1
original file MD5=30BBC2690C8A08A4C5D977BC27D42885
SUXE_patched_telephony-common.jar file is for SuperXE 4.2.2 build 6
original file MD5=C8917C386BA7FD24A0203058BFDC17F5,
CM10-1-20130720_telephony-common.jar for AOSP CM10.1.2, which has original
telephony-common.jar file with MD5=00c7d16ae721ef64dfc1bbf2aee4bf92
one of this file you should copy on sdcard, rename as telephony-common.jar,
then with RootExplorer, replace original file in /system/framework
if original file is same, you can replace.
if not, upload it here.

patch for CM10.1.2 update
patch for CM10.1.2 update.
look in first post

what about sense 4 ROMs? I have same issues on all Sense 4 roms

Fix works perfectly for albinoman887's CM10.1 ROM ! Thanks a ton!

I'm sorry sir but i didn't understand... I've just to replace attached files or i edit first them?
Wifi solve is a flashable file for any rom?
Inviato dal mio HTC Sensation

Please forgive the noob question, but there is a lot of information in the OP, which of the attachments did you run on Albinoman's ROM?

you two,
read post 1 & 7
http://forum.xda-developers.com/showpost.php?p=43773366&postcount=7

HTCZ715E said:
you two,
read post 1 & 7
http://forum.xda-developers.com/showpost.php?p=43773366&postcount=7
Click to expand...
Click to collapse
Thanks
works great on miui 3.7.19

shayan538 said:
Thanks
works great on miui 3.7.19
Click to expand...
Click to collapse
wait, at least in MIUI 3.7.12 I did not sow telephony-common.jar.
instead, did you modified bouncycastle.jar?

mamarda said:
what about sense 4 ROMs? I have same issues on all Sense 4 roms
Click to expand...
Click to collapse
write here ROMs and I will look.

ok, for MIUI MccTable is in framework.jar, thus I creates patch for it. see 1 post

Hi. Where is MccTable for Sense 4 ROMs? I didn't find this strings in framework.jar.
P.S. Found it in framework2.jar. Fixed by the same code. Thnks. It works like a charm.

Mikhei777 said:
Hi. Where is MccTable for Sense 4 ROMs?
Click to expand...
Click to collapse
yeo, search for string updateMccMncConfiguration

HTCZ715E said:
yeo, search for string updateMccMncConfiguration
Click to expand...
Click to collapse
I've patched it already. Thanks again.

Related

[V6U9RC13]For Your Lag(4x) Do it good, Good, GOOD, GOOD! SuperCharge Your Launchaaah!

Hey if somebody says that minfree tweaks don't work on ICS and JB, you can safely assume that they don't know what they're talking about lol
================================================= ==========================================
Please Rate the thread 5 Stars and click the Thanks Button! (any of my posts will do!) if you have enjoyed using The V6 SuperCharger!
Or consider donating - HUGE THANKS to those that have already donated!
And THANKS for constructive feedback - which makes this mod so AMAZING!
================================================= ==========================================
Rant: So I "cleaned up the OP" by adding little headings and hiding stuff. So if you want to post that it's still confusing, DON'T bother.
If you don't like it, don't use it. (And calling yourself a n00b is a BS excuse - READ and LEARN something like everybody else did.)
So... if you don't read and search first, and ask redundant questions anyway... be ready for...
{
"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"
}
Main Download Page is HERE (V6 SuperCharger and all the latest RC/Beta/Tests for Kick Ass Kernelizer, 3G TurboCharger, and Die-Hard Battery Calibrator)
Latest V6 SuperChargers are Black Dog-63457-Fix and For Your Lag
Latest KAK and 3G TC are HERE
Click to expand...
Click to collapse
Post #2 Info! - This is for the application of the following 3 Mods to services.jar!
Mod 1. ICS and Jelly Bean - require the Jelly ISCream Mod done in conjunction with the V6 SuperCharger Script to SuperCharger your launcher!
Mod 2. Froyo and up - can have the New Maximum MultiTasking Mods (Maximum Overdrive and the Time Killer Killer)
Mod 3. Sense 4 and up - remove the Sense 4 limit of only 8 visible apps with the Non-Sense App Limit!
These 3 mods are applied with my:
-=Ultimatic Jar Patcher Tools=- (fully automated exe/bat/sh tools) OR...
-=Ultimate Jar Power Tools=- patcher script (formerly called Jelly ISCream Smali Patcher) to automate Step 5 in Post #2 - the smali edits
Note: The webapp needs updating (aka the "Automatic Transmission" in V6 SuperCharger) and won't work on JB!
Click to expand...
Click to collapse
.​
SuperCharger = Speed + Multitasking!
No more lag! No more launcher redraws! Smooth & Snappy!
It's the ONLY Complete Memory Management Fix!​
There is NOTHING ELSE LIKE IT!
It Runs Like A...
​
So... HOLD ON TIGHT!​
Terms of Use:
99SuperCharger Tweaking: Of course, I don't own any rights in regards to the actual tweaks applied to system settings.
This means anybody is free to mess with OOM groupings, OOM priorities and minfrees.
So it's fine to modify and share your tweaked 99SuperCharger file as long as you leave the credits intact
Developers may include the attached V6 SuperCharger Installation Script in their roms. (This installs 99SuperCharger)
The attached V6 SuperCharger installation script may NOT be disassembled in any way, or be used as a part of any memory management app or package.
This is because it is no different than an app/apk found in the market. It's an installation program.
I don't own any right to tweak OOM Groupings, OOM Priorities, or minfree values. But I do own this program.
ATTN DEVS: Baking the V6 SuperCharger memory system in your ROM is 100% fine.
..................Don't make it a "secret" feature. Make it a PROMINENT feature and give proper credit and a HTML link to this thread.
..................You can include the V6 installation script in the system/xbin folder so users can use it with terminal emulator
.................. - giving it a short name is fine as it's a pain to type long file names in terminal.
..................Do not modify it, do not rebrand it (ie. It's not called "V6script"). Thank you.
This is the only permissible distribution of the attached installation script - unmodified, in a custom rom and in the system/xbin folder.
Modification and redistribution of the attached installation script is not permitted at all.
This means that you cannot feel free to zip up the attached installation script with other tweaks and this means that it is not be edited and shared.
ATTN USERS: If you use or encounter a ROM with the V6 SuperCharger memory system, without proper credit given and no SuperCharger source links, please make the Developer aware of it, and if necessary, please let me know about it. Thank you.
Personal Use: You may tweak the V6 installation script (leaving credits intact) to your own personal liking as long as it is NOT redistributed in any way.
If you want to share this, just link to this thread.
If you want to make a thread in other forums telling people about it, that's great.
But I would prefer that you do not post a copy of the V6 SuperCharger installation script in those forums.
Your co-operation is very much appreciated.
I don't want diluted/broken V6 SuperCharger installations floating around and then have people say it doesn't work.
=============================================================================
Bonus Battery Calibration Info:
First, let me link to my method of calibrating the battery without downtime so you can use your phone normally and do it whenever it's convenient.
It definitely works on Milestone and it seems to work on Droid.
I think that's a pretty good trick, anyway - it may even work on other phones
Note: You can also try my Die-Hard Battery Calibrator script which is on the download page.
Update: As I suspected, any calibration method doesn't magically make your battery last longer
.............. - All my battery tips/scripts really do is help ensure that you are actually getting a full charge. THAT'S IT.
.............. - Which is why my Die-Hard Battery Calibrator has always notified the user the REAL percentage vs the REPORTED percentage
=============================================================================
Summary of Steps (Yeah, it's THIS friggin easy...)
Before you start reading, just know that this is not difficult to implement... it's easy. There's more specifics below but basically:
1. Download a script
2. Install BusyBox (Attached! - see install instructions above the attachments)
3. Install Script Manager (Enable Browse as Root in Config)
4. Load script into Script Manager (Run As Root - the skull and crossbones icon which turns green when selected)
5. Follow instructions/user prompts & select what you want
6. Patch services.jar as needed (see Post 2)
See? EASY!
Note: If you get errors, or fail the driving test, use the SuperCharger Starter Kit from the download page.
Essentially, the Starter Kit makes sure that your ROM has no silly stability issues.
It includes:
A proven busybox
Fixed su binary (for segmentation fault issues with superuser.apk on ICS only)
zipalign binary and sqlite3 binary (used in Update 9 RC*)
=============================================================================
Know that the script explains what it does before it does anything!
It holds your hand along the way and it will answer nearly all your questions as it moves along!
It works on ALL Android devices - Custom Roms or Stock Roms, Phones or Tablets, it doesn't matter!
Also Note: Nothing else does what The V6 SuperCharger does!
................Not AutoKiller Memory Optimizer, Not Auto Memory Manager, Not Minfree Manager...
................And NOTHING BEATS IT. PERIOD.
So... if somebody says to you that V6 SuperCharger does the same thing as [pick any app], tell them to first read about what they're talking about so that they can actually have an informed opinion.
Get A Taste of The V8 SuperCharger - Some details for 3G TurboCharger & Kick Ass Kernel Tweaks are here (older versions there too)
......................................................... - V8 SuperCharger Alpha for Milestone!
=============================================================================
Memorable User Comments:
"Feels like I have a new phone!"
"V6 is one the best things to come to android."
"Supercharger rocks bro, I'm actually mad I waited so long to do it..."
"I wish I hadn't upgraded yet"
"Now I can wait to upgrade",
"I was about to throw this phone through the wall",
"I was about to return it but now I don't have to",
"This cured my phone of cancer!"
"Oh man... just applied the V6 Supercharger Script by ZeppelinRox on my Android.. I think it fixed everything..",
"My phone is better than new!",
"my phones has turned god mode on or somthing",
"I never notice this at all, until I flash a new rom and realize its not there anymore lol."
=============================================================================
What's it do?
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.
Also, because of the rearrangement, it works the same on all roms!
The problem with using minfree tweakers like AMM or AKMO is that it doesn't work the same on all roms.
Secondary apps may be in slot 3 on some roms but in slot 5 in others!
That's why you hear people comment "I tried AKMO but it didn't do anything..."
Most likely it didn't do anything because the apps weren't sitting where they were expected to be.
So fasten your seat belts and enjoy the ride!
=============================================================================
RAM Lesson:
Important Note: FREE RAM IS NOT WASTED! - Read Linux Memory Consumption
...................... That article TOTALLY confirms what I've been saying!
To Summarize: Article: "Performance degradation occurs when "Absolute Free Memory" (includes Cached RAM) decreases."
...................... Me: "Lag happens when free ram goes below the 'lag level'"
Same thing, different language
Big Thanks to dev hardcore and this post for helping me figure stuff out way back when
=============================================================================
Note: Do this at your own risk - regardless of how little risk there is .
............ It has the UnSuperCharger Option to uninstall, but do a nandroid anyway.
............ Simply reflashing your ROM will also wipe it clean from your system.
=============================================================================
Requirements:
1. Rooted Android Device. Milestoners, you can use Universal Androot (not in market ?)
2. Script Manager or Terminal Emulator to run the script. Stock ROMs can also use SM to load up boot scripts!
3. Busybox v1.16.2 OR ABOVE. You can use any of the ones attached to this post which contain a Feature Rich busybox v1.19.4 by wraithdu (CWM flashable.zip, "Normal" Installation script by me and one which reinstalls BusyBox on EACH boot by me.)
OR,,,
Grab the SuperCharger Starter Kit and have busybox plus other tools (fixed su binary for ICS with superuser.apk and not supersu.apk, zipalign binary and sqlite3 binary) installed instantly!
BusyBox WARNING: Some versions are "minimal" with many missing applets and functions! I also find v1.18.3, v1.18.4 and 1.185 VERY much a hassle with errors that should NOT be errors! Avoid any such versions! Minimal is BAD!
4. Optional: AutoStart Script by me - Enables Stock ROMS (Milestone + a few other devices) to utilize etc/init.d for boot scripts.
=============================================================================
Installing/Using:
1. Download the attached V6_SuperCharger_for_Android*.txt/pdf script and save to your sdcard.
- Do NOT run the V6 SuperCharger install script at boot!
2. Run the script:
A) Load the script (V6_SuperCharger_for_Android*.txt/pdf) into Script Manager and select "Run as Root" (skull and crossbones "Su" icon - it turns green when selected)
OR...
B) Run Terminal Emulator and simply type: su and enter, sh /sdcard/V6*.sh and enter (provided you saved the script to the root of your sdcard)
OR...
C) via ADB on your computer. In a console, type: adb shell and enter, su and enter, sh /sdcard/V6*.sh and enter (provided you saved the script to the root of your sdcard)
3. Get SuperCharged! Just pick an option! The extra options (Engine Flush, etc.) explain things before doing anything
4. READ the script's output!
5. Afterwards, READ the html HELP FILE in the root of your SD Card!
6. Non-ICS/JB ROMS - Disable "Lock Home in Memory" if your ROM has this option. (This takes effect immediately.)
7. Optional: For a quick status check, you can put a Script Manager widget for V6 SuperCharger on you desktop
8. Reboot - required if it's your first time SuperCharging the rom.
9. Check if it works - After reboot, run the V6_SuperCharger script and check the info under the menu.
10. Patch services.jar as needed (see Post 2)
Cool! - Here are a few recent tutorials:
[GUIDE] How to install Supercharger V6 (includes patching steps)
[How To][Video Tut] Install/Run V6 Supercharger + Basics (uh... video)
[GUIDE] V6 Supercharger Update 9 RC 8.2 + for Samsung Galaxy Young (includes a little KAK tutorial too)
If you are using compcache and have lag or slow down after SuperCharging,
DISABLE compache, wipe caches and re-enable it.
Non-ICS/JB ROMS - Be sure to uncheck/disable lock home in memory!
Note: V6_SuperCharger-AOR.zip is for use with Milestone's Androidiani OpenRecovery. Even if you have a Milestone, don't run it within Android.
........ AOR Usage: Extract to the root of your sdcard (Directory structure is in the zip)
.........You will now have a SuperCharger Menu on the main screen. Simply select the menu and select 1 of the 12 options.
=============================================================================
Pro Tips:
- CUST-OOMIZER! Use your settings without Autokiller Memory Optimizer or Auto Memory Manager!
- Use the 3rd slot to set how much free ram you want.
- If you have a viable init.XXX.rc file, it makes a backup and edits that single file. This is nice and tidy.
... Thank to kabaldan for pointing out the importance of certain things.
- Most Custom ROMs - If you have a /system/etc/init.d folder, it creates 99SuperCharger in there and edits your choice of either /data/local.prop or /system/build.prop (18 entries added for adjusting priorities and groupings). You shouldn't need to configure anything else.
- If the minfree levels do not stick on your Custom ROM:
........ Check /data/Ran_Supercharger.log to see if it ran... (Update 9 RC*)
........ If this happens to you, use Script Manager to load /system/etc/init.d/99SuperCharger "on boot" and "run as root"
- Stock ROMs - It also creates /data/99SuperCharger.sh which you can load up on boot (run as root) with Script Manager. The OOM groupings work as well since it happens on boot in local.prop or build.prop (18 entries added)
In case of any error, you will find a related help file in the root of your SD card.
So... I think this covers ANY Android ROM
The Help File! (Abbreviated)
-=The V6 SuperCharger=- created by zeppelinrox.
Here is some Background Info in case you're curious...
Linux Memory Consumption - Nice article!
Memory and SuperCharging Overview or... "Why 'Free RAM' Is NOT Wasted RAM!"
MFK Calculator Info - explanation for vm.min_free_kbytes
Stock ROMs: After running the script, have Script Manager load the newly created /data/99SuperCharger.sh on boot
In the "Config" settings, be sure that "Browse as Root" is enabled.
Press the menu key and then Browser. Navigate up to the root, then click on the "data" folder.
Click on 99SuperCharger.sh and select "Script" from the "Open As" menu.
In the properties dialogue box, check "Run as root" (SuperUser) and "Run at boot" and "Save".
And that's it!
Script Manager will load your most recent settings on boot!
If you run the script later and with different settings, you don't have to reconfigure anything.
Script Manager will just load the new /data/99SuperCharger.sh on boot automagically ;^]
Custom ROMs: If you have a custom rom that loads /system/etc/init.d boot scripts,
You DON'T need to use Script Manager to load a boot script. It will all be automatic!
Also, if you can run boot scripts from the /system/etc/init.d folder, there are other options.
For example you can use an app like Terminal Emulator to run the script.
NON-ICS ROMS: If your ROM has the option, DISABLE "Lock Home In Memory. This takes effect immediately.
Alternately, if you need to free up extra ram, you can use "Lock Home in Memory" as a "Saftey Lock".
ie. Use it to toggle your launcher from "Bulletproof" (0) or Hard To Kill (1) to "Weak" (2) in the event that you want to make the launcher an easy kill and free up extra RAM
If Settings Don't Stick: If you have Auto Memory Manager, DISABLE SuperUser permissions and if you have AutoKiller Memory Optimizer, DISABLE the apply settings at boot option!
Also, if you have a Custom ROM, there might be something in the init.d folder that interferes with priorities and minfrees.
If you can't find the problem, a quick fix is to have Script Manager run /system/etc/init.d/*99SuperCharger "at boot" and "as root."
Another option is to make a Script Manager widget for /system/etc/init.d/*99SuperCharger or /data/99SuperCharger.sh on your homescreen and simply launch it after each reboot.
For those with a Milestone, I made a version for Androidiani Open Recovery too
Just extract the zip to the root of /sdcard (it contains the directory structure), load AOR, and there will be a SuperCharger Menu on the main screen!
==============================================================================
The above is ALL YOU NEED TO KNOW.
The V6 SuperCharger Script EXPLAINS EVERYTHING that it does - as you use it!
Anything below is extra info!
So get SuperCharged FIRST and then read the stuff below to see how it works!
==============================================================================
The Nitty Gritty... For Geeks! (WARNING: This can make a non-Geek's head Assplode!)
If you read Post #3 (History Parts 1-3), you'll see that at first it was only about minfrees and launcher redraw.
But after installing GingerBread, I saw that it needed more work than Froyo LOL.
Groupings were ALL MESSED UP and made NO SENSE to me whatsoever...
So I figured out how to group them more like CM6 (Froyo) but that still wasn't good enough...
So I further rearranged the OOM Groupings and Priorites and lowmemorykiller values and created a SuperCharger for phone memory...
THE ONLY COMPLETE MEMORY MANAGEMENT FIX!
Upon installation, V6 SuperCharger will first clean up any previous supercharging so none of your files get cluttered.
But if you toggle between Hard To Kill and BulletProof launchers, the memory adjustments aren't affected.
So you can leave your minfrees at stock/default settings and apply the Hard To Kill Launcher and still get the OOM Grouping/Priority fixes.
So if you love your ROMs memory settings, just try a SuperCharged Launcher/OOM Fix... you won't regret it
It's pretty awesome
Here are some snaps....
Before...
After...
During....
Bonus....
Say Buh Bye to AKMO or any app that has to load on start up to change minfrees...
So did you notice the difference in groupings?
By default, CM7 has nearly all the apps in slot 5 and the launcher in slot 3.
Slightly aggressive settings will kill any chance of multitasking in that situation.
After SuperCharging, the apps get moved to slot 3 while the launcher is in slot 2 but the most important item in slot 2.
I've read, "oh you don't need to run any scripts for memory management..."
Well that's not true.
Playing with minfree values is one thing... it's playing with minfree levels... it's not really memory management...
Look at the pics above... now THAT's memory management...
If you look below at Post #3... that's how it all started... good background info in case you're wondering what the hell I'm talking about.
Notes: Minfree changes take effect immediately!
.......... Switching between Hard To Kill (strong), Die-Hard (stronger) and BulletProof (strongest) Launchers require a reboot to take effect.
.......... Disable your OS's "Lock Home in Memory" option, if it has it
.......... Or use "Lock Home in Memory" as a "Saftey Lock" - to toggle your launcher from "Bulletproof" (0) or HTK (1) to "Weak" (2)
.......... Note: "Lock Home in Memory" is not ADJ 1 with my OOM Grouping/Priority Fixes
Cool Tip: Sometimes it's difficult to keep a wanted background app alive, such as an SMS app. See how to Bulletproof Background Apps!
Remember: When using scripts, use the SuperUser app to DISABLE SuperUser permissions for AMM!
................. It can still monitor your OOM groupings but it can't change your custom settings on boot.
................. If you have AKMO installed, disable it's option to Apply Settings at Boot!
==============================================================================
BusyBox v1.19.4 Install Script Instructions:
First extract busybox_v1.19.4-wraithdu-installer_script.zip to the root of your sdcard
Method 1 - Just run the script inside/sdcard/bb1.19.4 with Script Manager as root.
Method 2 - Run terminal and type su and enter
............... - Type sh /sdcard/bb1*/busy* and enter
............... - Soup's On, Baby!
Boot Re-Installer! For BusyBox v1.19.4 Instructions:
For PITA kernels and roms that insist on reinstalling old busyboxes on boot!
Contains same script as above but includes another script that makes busybox v1.19.4 reinstall each boot!
Basically, it installs the above script as /system/etc/init.d/96busybox
So for those kernels and roms... TAKE THAT!
First extract boot_reinstaller_script+busybox_v1.19.4-wraithdu-installs_every_boot.zip to the root of your sdcard
Method 1 - Just run the boot_reinstaller* script found inside/sdcard/boot.bb1.19.3 with Script Manager as root.
Method 2 - Run terminal and type su and enter
............... - Type sh /sdcard/boot*/boot* and enter
............... - Soup's On, Baby! (again and again!)
==============================================================================
V6_SuperCharger-AOR.zip is for Androidiani OpenRecovery for Milestone!! - For Milestone ONLY! - See "Installing/Using" instructions above!
How To Save Attached Files
- Right click with your browser & select "save as" from menu, or use the QR Code or XDA app or Tapatalk
- Also a great method - use Opera Mini web browser. Very easy to download and it's FAST!
So... if you get an error like "line xxx: syntax error: unexpected end of file (expecting "blah blah")", it's an INCOMPLETE DOWNLOAD!
Download it again and DO IT RIGHT.
Most recent files are HERE (RC/Beta/Test releases)
Don't Mirror Or RePackage My Files - Just link here - Then your thread won't get real old, real fast.
If you're going to download something...
Please HIT THANKS and Give a 5 Star Rating!
I SCream SUPERCHARGER!!
===================================================================
If this information is helpful, please Rate the thread 5 Stars and click Thanks!
===================================================================
Hacking services.jar
What's this for? - Froyo, Gingerbread, Honeycomb, ICS, Jelly Bean AND Sense 4.0+!
ICS and Jelly Bean - Jelly ISCream Mod (SuperCharge Your Launcher)
Note 1: Earlier Android ROMS need ONLY The V6 SuperCharger Script to SuperCharge the launcher!
Note 2: The webapp is NOT working on some newer roms! The strings to be edited are slightly different and the webapp needs updating!
It also lacks the newest edits and is NOT recommended for the time being!
Froyo and Up - Maximum MultiTasking Mods - Includes -=Maximum Overdrive=- and The Time Killer Killer
Sense 4.0 and Up - Non-Sense App Limit
See the -=Ultimate Jar Power Tools=- thread for more details about the Multitasking and Sense mods!
Use the Ultimate Jar Power Tools patcher script to automate Step 5 (the smali edits) in the tutorial below!
Or use my latest -=Ultimatic Jar Patcher Tools=- to do ALL the Steps in the tutorial! It works for DEODEX and ODEX ROMS and can be run on Windows/Linux/Mac OSX OSes!
===================================================================
Jelly ISCream Mod Information!
===================================================================
The NEW Ultimatic Jar Patcher Tools and Ultimate Jar Power Tools patcher script include all the -=NEW=- Jelly ISCream edits described in Step 5 - PLUS many more! (over 50 edits!)
These additional edits truly makes your launcher SuperCharged!
They also apply the latest Maximum MultiTasking Mods
The webapp hasn't been updated so it's NOT recommended.
===================================================================
Installation - Easy as 1, 2, 3!
1. Run the NEWEST V6 SuperCharger script as always.
Note: You may get Segmentation Fault errors running the V6 SuperCharger script on ICS due to a flakey su (superuser) binary.
To resolve the issue, you can:
A) Go HERE for a fixed su binary. No more fugly segfaults! - Thanks to wraithdu (only for superuser.apk on ICS)
OR...
B) Go HERE and get the SuperCharger Starter Kit!
2. Patch and install services.jar - by whichever method you like best. Your options are, in order of EFFECTIVENESS:
Note: Options A, B and C require Java to be installed on your computer - Click to Verify Java Installation
Option A) Use one of the -=Ultimatic Jar Patcher Tools=- (exe or zip) which DO EVERYTHING for you "Fully Ultimatically" on DEODEX & ODEX ROMS!
Goto Step 3 if you did this!
Option B below is the next preferred method - but there's manual work involved.
Option B) Follow the complete tutorial below and use -=Ultimate Jar Power Tools=- patcher script to automate Step 5 - the actual smali editing!
There are actually 56 edits performed via script... many more than what is specified in the tutorial!
Note that the script allows you to choose the level of your Launcher's Super Strength! (BulletProof, Die-Hard, or Hard To Kill)
Also be sure to have the necessary smali files in the same folder as the script!
ODEX ROMS - ALL Stock ROMS are ODEX (I think... ) So if you have a services.odex file, press the button!
All but Step 5 is automated on Windows with a batch script courtesy of rexstor .
See [Guide][Batch][Odex Rom only!] To get another 50% v6 Supercharged script for ICS!
So you'd run the batch script, and for the editing, run my Ultimate Jar Power Tools patcher script in Step 5
Goto Step 3 if you did this!
Option C) Follow the complete tutorial below without using any Patcher tool.
This is actually pointless to do - there are less edits and it's more work And the laziest people should just do D) below lol
Goto Step 3 if you did this!
Option D) Use the latest Update 9 RC* and select ICS Service Centre's Automatic Transmission! (OUT OF DATE)
Seemless webapp integration and installation to "Lock home in Memory"
Note: This is currently out of date - latest edits and Maximum MultiTasking Mods are NOT included and it does not work on Jelly Bean!
Goto Step 3 if you did this!
Option E) ICS OOM Priority Charger webapp. Same effectiveness as D) but done manually (OUT OF DATE)
Latest Update 9 RC* can install and apply permissions via ICS Service Centre's manual mode
Important: The webapp WON'T WORK for ODEX roms! So if you have a services.odex file, you have use a more effective option above
Also won't work on Jelly Bean ROMS!
More Webapp Info
Just go to http://android.mimic.ca with your devices browser and follow instructions!
In case of upload problems: If your Android browser closes while selecting file to upload, use Opera Mini web browser because it lets you select a file from within the app. Just copy services.jar to the sdcard first
CWM zip option is available!
But if you don't get the CWM zip, and instead download the modded services.jar, you can:
A) Do Steps 8 to 10 below! But first In Terminal Emulator, just type su and enter, busybox mount -o remount,rw /system and enter (Mount system as read/write).
OR...
B) Use the ICS Service Centre's manual mode in V6U9RC*
Help for webapp: Go to http://webchat.freenode.net , channel #v6_supercharger and talk to blk_jack (or me if I'm there)
* All roms (odex & deodex) - to install a patched services.jar/odex, you can use the ICS Service Centre's manual mode in V6U9RC9+ (for Steps 8 and 9 below).
* If you ever have trouble applying permissions to services.jar/odex, just run the ICS Service Centre and permissions gets applied everytime just before returning to the main menu!
3. SuperClean & ReStart! (ie. Wipe Dalvik Cache & Reboot)
Notes: For decent launcher detection use at least V6U9 RC6.9 or newer and check the bOOM Stick to see if the launcher the desired ADJ value!
.......... - Boot will take a LONG time as it "optimizes all your apps"
.......... - If it doesn't boot (unlikely if you did the edits yourself), try wiping caches (not data)
.......... - If it still doesn't boot, you can always just re-flash your current untouched rom but do have a backup nevertheless.
.......... - If you get FCs, fixing permissions will solve that. (Use the "Fix Emissions" Option in the latest V6 SuperCharger Script! )
That's It!
========================================================
OK I got ICS SuperCharged!!
The problem with SuperCharging ICS is that ICS doesn't read ADJ values from build.prop or local.prop - they are hardcoded into services.jar!
So the script alone can only give you a 50% SuperCharge Level with only the V6 SuperCharger script.
Patching services.jar gives you the other 50% along with a SuperCharged Launcher!
ICS users still have to run the V6 SuperCharger script just like before! Use V6U9 RC6.9 or newer for decent launcher status detection!
Note: Of course, the V6 SuperCharger script is ALL YOU NEED on all previous Android ROMS!
So the mod below is for getting the Launcher at a SuperCharged Priority on ICS!
This is akin to the ADJ entries in build.prop or local.prop on earlier Android ROMS which don't work on ICS.
What gets changed?
I rearranged Priorties on ICS like so:
Code:
System -16 (stock)
Persistent Process -12 (stock)
ForeGround app 0 (stock)
Home Launcher 1 (Die-Hard Launcher) (stock=6)
Perceptible app 2 (stock)
Visible app 3 (stock=1)
Heavyweight app 4 (stock=3)
Previous app 5 (stock=7)
Service 6 (stock=5)
Backup app 7 (stock=4)
Service_b 8 (stock)
Hidden app min 9 (stock)
Hidden app max 15 (stock)
As you can see, there are ALOT more app categories now lol
I also decided to give a new app category a higher priority - Previous Apps.
Users with low ram devices will definitely be pleased with that
I was actually able to load Angry Birds, ran a different app, and went back to Angry Birds and it didn't have to restart.
It's practically unheard of for that game to stay in memory like that on my device
I really don't understand the logic of making Previous apps more killable than some app that you were using awhile ago (ie Service) so I fixed it
========================================================
How To:
This will make it easier [Guide][Tutor]Jar/Apk baksmali smali compiler and decompiler
Important! - Get the MOST RECENT smali/baksmali binaries located here (remove the version number so they are called smali.jar and baksmali.jar)
Click to Verify Java Installation - smali/baksmali requires Java to be installed on your computer.
ODEX ROMS: If you have an odex rom (ie. you have a services.odex file) you have extra work. See this
..................... - Watch for dark red text for odex specific instructions! Some of which were initially found in this services.odex hacking guide.
..................... - Going with the odex guide above, you will also need the dexopt-wrapper utility.
..................... - Download the utility "dexopt-wrapper". (Do a search - you'll find it.)
..................... - Mount system as read/write. Open up Terminal and type: su, enter, busybox mount -o remount,rw /system
..................... - Copy it to /system/bin and apply correct permissions.
..................... - In terminal type: chmod 755 /system/bin/dexopt-wrapper, enter.
OR... You can convert your ODEX ROM into an easily modded deodexed one. Here are a few options to do that:
..................... xdaAutoTool (Windows - the first 3 posts have 3 different tools!)
..................... AutoAPKTool + AutoDeodexTool (Linux port of xdaAutoTool)
..................... Auto Deodex & Zipalign Tool (Windows - looks easy)
..................... Manually Deodex and Odex Back (Windows - geeky)
========================================================
Step 1. So grab the tutorial zip from above and unzip into a folder, say C:\super, along with the smali and baksmali jar files. This is all you need apart from a text editor and a zip program like 7zip or WinRAR.
............ Put services.jar (make sure you have a backup) in C:\super.
............ ODEX ROMS: Put services.jar AND services.odex in C:\super. (Note that services.jar will be very small with only a META-INF folder inside)
Step 2. Open up a dos/command prompt and navigate to the folder by typing cd c:\super
Step 3. Type: java -jar baksmali.jar -x services.jar -o classout (services jar gets decompiled into a classout folder.) Leave the dos/command prompt window open.
............ ODEX ROMS: Copy /system/framework folder(with all the jar+odex files) to c:\super
........................ Type: java -jar baksmali.jar -x -a <api_level> -d framework services.odex -o classout
........................ api_level is a number. See this page. So if you're on froyo, you put -a 8. On gingerbread it's -a 9 or -a 10.
........................ If you get an error: Add the $BOOTCLASSPATH to the above command.
........................ So do this command on your device using terminal emulator OR adb shell (easier): echo $BOOTCLASSPATH
........................ Example: You'll get something like this:
/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar
........................ Remove the paths (/system/framework/) so end up with core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar
........................ Now, your final command becomes:
java -jar baksmali.jar -a ## -x -c :junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar services.odex -o classout
........................ NOTE: This command may FAIL if you don't put the colon (:) after the "-c " and before that list of .jar files.
Step 4. Open explorer and navigate down to c:\super\classout\com\android\server\am folder and find ActivityManagerService.smali
Step 5. Use the -=Ultimate Jar Power Tools=- patcher script to perform the following edits (IT actually does TONS more for a smoother SuperCharge!)
Get it from THIS THREAD, and run it like my other scripts and be sure to have both ProcessList.smali AND ActivityManagerService.smali in the same folder as the patcher script! (Erm.... put them on your phone, run the Power Tools script, then copy the new smali files back to where you found them!)
Note that the Jelly ISCream Mod will read the previous ADJ values from ProcessList.smali, searches for those ADJs and replaces them with SuperCharged ones in BOTH smali files!
Then go to Step 6
If you don't wanna go the easy way... click the button!
Open ActivityManagerService.smali in notepad or notepad++ and make following smali edits.
a. Note that the "====" are breaks and NOT part of the smali file
b. Underlined is the search term so you can find the location in the file easily.
... - The search term includes the "quotes" and is CaSe SEnsiTive (ie. select Match Case in search) so you should actually only get 1 hit for all but 1 search.
... - There are 5 hits for "backup" with quotes but just scroll down from the previous edit you'll find it (heh. the previous edit is for "previous" lol)
c. Bold is the edit (note that each edited line begins with "const/4 v10, " Update: New roms now have "const/4 v11, " or "const/4 v14, " instead)
d. (Italized) is the ORIGINAL value
So, for example, the first edit for "visible" apps:
const/4 v10, 0x3 (0x1)
Originally, it looks like: const/4 v10, 0x1
After edit, it looks like: const/4 v10, 0x3
Ok... so here it is
======================
.line 13728
const/4 v2, 0x1
if-le v10, v2, :cond_118
.line 13729
const/4 v10, 0x3 (0x1)
.line 13730
const-string v2, "visible"
move-object/from16 v0, p1
========================
if-ne v0, v2, :cond_154
.line 13768
const/4 v10, 0x4 (0x3)
.line 13769
const/16 v27, 0x1
.line 13770
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13771
const-string v2, "heavy"
move-object/from16 v0, p1
=======================
.line 13777
const/4 v10, 0x1(0x6) Note that this is for Die-Hard Launcher! To BulletProof it, make it 0x0, HTK 0x2
.line 13778
const/16 v27, 0x1
.line 13779
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13780
const-string v2, "home"
move-object/from16 v0, p1
=======================
.line 13788
const/4 v10, 0x5(0x7)
.line 13789
const/16 v27, 0x1
.line 13790
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13791
const-string v2, "previous"
move-object/from16 v0, p1
=======================
.line 13808
const/4 v10, 0x7(0x4)
.line 13809
const-string v2, "backup"
move-object/from16 v0, p1
=======================
-=NEW=-
.line 13828
const/4 v2, 0x6(0x5)
if-le v10, v2, :cond_203
.line 13829
const-string v2, "started-bg-ui-services"
move-object/from16 v0, p1
=======================
.line 13837
const/4 v10, 0x6(0x5)
.line 13838
const-string v2, "started-services"
move-object/from16 v0, p1
=======================
-=NEW=-
.line 13845
:cond_37f
const/4 v2, 0x6(0x5)
if-le v10, v2, :cond_203
.line 13846
const-string v2, "started-bg-services"
move-object/from16 v0, p1
========================
This next part is actually hard to search for so I'm posting a large segment which contains 3 edits that make a HUGE difference!
To make it a little easier, search for "bg-services"
There are 2 hits - The second one is at the bottom of this segment.
Also, not that only one of them begin with the typical "const/4 v10, ", the other 2 begin with "const/4 v2, "
-=NEW=-
const-string v11, "service"
goto/16 :goto_3e1
.line 13932
:cond_487
iget v2, v15, Lcom/android/server/am/ConnectionRecord;->flags:I
const/high16 v5, 0x4000
and-int/2addr v2, v5
if-eqz v2, :cond_496
const/4 v2, 0x2
if-ge v12, v2, :cond_496
const/4 v2, 0x2
if-le v10, v2, :cond_496
.line 13935
const/4 v10, 0x2
goto :goto_471
.line 13936
:cond_496
const/4 v2, 0x3 (0x1)
if-le v12, v2, :cond_49b
.line 13937
move v10, v12
goto :goto_471
.line 13939
:cond_49b
const/4 v2, 0x1
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
.line 13940
const/4 v2, 0x3 (0x1)
if-le v10, v2, :cond_471
.line 13941
const/4 v10, 0x3 (0x1)
goto :goto_471
.line 13995
.end local v3 #client:Lcom/android/server/am/ProcessRecord;
.end local v4 #myHiddenAdj:I
.end local v11 #adjType:Ljava/lang/String;
.end local v12 #clientAdj:I
.end local v13 #clist:Ljava/util/ArrayList;,"Ljava/util/ArrayList<lcom android="" server="" am="" connectionrecord;="">;"
.end local v15 #cr:Lcom/android/server/am/ConnectionRecord;
.end local v17 #i:I
.end local v22 #kt:Ljava/util/Iterator;,"Ljava/util/Iterator<ljava util="" arraylist<lcom="" android="" server="" am="" connectionrecord;="">;>;"
.end local v26 #s:Lcom/android/server/am/ServiceRecord;
:cond_4a5
move/from16 v0, p2
if-le v10, v0, :cond_4b6
.line 13996
move/from16 v10, p2
.line 13997
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13998
const-string v2, "bg-services"
========================
Save it.
Step 6. Go back to the dos/command prompt and type: java -Xmx512M -jar smali.jar classout -o classes.dex (this creates classes.dex)
............ ODEX ROMS: Type the same command as above.
Step 7. Open up services.jar with 7zip or WinRAR (you will see a classes.dex file inside) and drag the newly created classes.dex into the window to refresh services.jar with the new classes.dex
............ Mount system as read/write. Open up terminal and type: su, enter, busybox mount -o remount,rw /system
............ ODEX ROMS: Do the above steps (though there won't be an existing classes.dex - just add it anyway) and then do the following, edited segment from the services.odex hacking guide:
Copy the new services.jar file into the root of your phone's sd card.
software_samurai said:
Create a new services.odex file from the new services.jar file:
In terminal, type: cd /sdcard, enter, dexopt-wrapper services.jar services.odex $BOOTCLASSPATH, enter.
Here's the "special sauce": copy over the "signature" from the current .odex file into the new .odex file. do NOT continue until this command succeeds!
Hint: the file size of the new services.odex file should not change!
In terminal, type: busybox dd if=/system/framework/services.odex of=/sdcard/services.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
Click to expand...
Click to collapse
Now copy /sdcard/services.odex to /system/framework and overwrite the original (backed up, yes?) services.odex
Go to Step 9
Step 8. Copy the new services.jar into your /system/framework folder.
............ ODEX ROMS: SKIP this step!
Step 9. a. In terminal type: cd /system/framework, enter, chown 0.0 services.jar, enter, chmod 644 services.jar, enter
................ ODEX ROMS: In terminal do: cd /system/framework, enter, chown 0.0 services.odex, enter, chmod 644 services.odex, enter
............ b. OR... you can just put it into a copy of your rom and flash that!
Step 10. SuperClean & ReStart! (ie. Wipe Dalvik Cache & Reboot)
========================================================
It was a pain in the ass to find because the settings that get applied actually ignore any setting that is given.
It's all over-ridden by a calculated routine
So I just turned the tables to have it over-ride settings to be SuperCharged
Remember that you will still need to run V6 SuperCharger to get your minfrees and grouping fix/adj limits in place.
Was this useful info? If so...
Please HIT THANKS and Give a 5 Star Rating!
[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
So here's how it all started... don't worry if you don't understand it... the script does everything!
So... recently I came across/figured out some pretty neat stuff to make my Milestone run incredibly well.
Fast, Stable, and Smooth. FSS... heh... my Milestone used to make me say FFS too often... lol
In Part 2, you will find a way to make your launcher bulletproof!
What's that mean? No more screen redraws! AT ALL - I'm pretty sure
History Part 1. How To Control Android's Memory Manager via minfree
This revolves around Android's built-in memory manager/task killer.
I had been using Auto Memory Manager (AMM) with great results. AutoKiller Memory Optimizer (AKMO) had worked just as well.
These are NOT taskillers! (And neither is my SuperCharger )
They tweak Android's native memory management system by editing /sys/module/lowmemorykiller/parameters/minfree
This is a "dynamic" file that gets created on boot.
There is an in-depth thread that you can read right here on XDA: How to configure Android's *internal* taskkiller
Android puts each running app into 1 of 6 Out Of Memory (OOM) groups based on their priority.
FOREGROUND_APP, VISIBLE_APP, SECONDARY_SERVER, HIDDEN_APP, CONTENT_PROVIDER, and EMPTY_APP.
Additional Info: You can find each app's priority and OOM.
....................... In AMM, Press Menu > Running Processes > Group by OOM grouping.
....................... Expand each group and see what apps are included and each app's priority level. (Higher numbers get killed first!)
....................... If you tap on an app, you can get additional info. Tip: Check and see what's included with android.process.acore
The default minfree values ("kill thresholds") for each OOM group are, as far as I can tell: 6, 8, 16, 20, 22 and 24 mb. (CyanogenMod 6.1.2)
This means that: when free memory lowers to 24 mb, EMPTY_APPS get killed; at 22 mb free ram, CONTENT_PROVIDER apps get killed; and so on...
Now, because the Milestone has only 256 mb of memory, I found these numbers too low, especially the 3rd one.
Basically, with those settings, you will usually be sitting with only 20 - 25 mb of ram.
Possibly less. Basically, it's the 3rd number (16) + 5. That's your free memory.
And my phone just chokes when it has that little ram available. Lag, home screen redrawing, the launcher getting killed.... ugh....
After extensive fiddling around, I've come to the conclusion that setting the third slot to about 25mb works great.
No home screen redraws while not being too aggressive on secondary/background apps while having about 30-35mb free all the time
BTW, free ram is not wasted. Android will use that memory to cache the file system and this speeds things up. See this informative post.
My other key settings were:
VM Heap Size = 48 mb.
Home Locked in Memory (not anymore due to my OOM Grouping Fix)
JIT enabled - You can try it on or off and decide what you like better (JIT uses some extra memory but makes the CPU more efficient)
Overclocked to [email protected] vsel.
About VM Heap size. 40 mb should be enough.
Actually, to prevent your launcher from splitting into 2 virtual machines, you should make it at around 40 mb.
I'm no expert about it, but that is the experience of others. (I've never tried it at 32 mb or below )
History Part 2. How To Control Your Launcher Redraws by Making It Bulletproof!
Most of you know about CM's "Lock Home In Memory" setting and how we would still get screen redraws after enabling it.
My suggested AMM settings above should be enough prevent that. You should hardly ever get screen redraws anymore.
But some people were still getting them.
I tried increasing the appropriate priority (for android.process.acore - which includes com.android.launcher) in AMM but the setting wouldn't "stick"
Android would revert it back to where it was - in the Visible App group with a priority of 1.
I had seen how foreground apps had a priority of 0 or -12 or -16 and I came up with a permanent solution - "The Bulletproof Launcher"
Here's how you can have a Bulletproof Launcher!
The line "ro.HOME_APP_ADJ=1" in /data/local.prop also keeps home in memory - it has the same effect as CM's "Lock Home In Memory".
So in light of what I was seeing in AMM, I have changed it to 0 so it now reads:
ro.HOME_APP_ADJ=0
(blank line)
Note: If there isn't a blank line at the end, the ro.HOME_APP_ADJ entry gets deleted.
If you do this and reboot, AMM may still show that android.process.acore (or whereever your launcher is) with a priority of 1
If that's the case, disabled CM's setting to lock home in memory.
Now, if you go back to AMM, you should see that android.process.acore is now a foreground app with a priority of 0... BOOYA!
Notes: Obviously, CM's "Lock Home In Memory" overrides the setting in local.prop.
.......... CM will set the priority back to 1 after local.prop gives a priority of 0.
.......... That's why CM's setting has to be disabled - so that the local.prop setting will "stick"
.......... Gaming Tip - You can use CM's lock home in memory as a "Safety Lock" - to toggle your launcher from Bulletproof (0) to Killable (1)
............................. If having problems with a game, put the "Safety Lock" on so the launcher is "killable" so android can free up some extra ram.
Note that BulletProofing is NO LONGER RECOMMENDED! The Hard To Kill Launcher is the PERFECT SOLUTION!
History Part 3. Blah Blah Blah...
Interesting Notes: I had installed the Telus Froyo Update yesterday (03/25/11) and still have it installed.
.......................... Only now did I think to look at the minfree values
.......................... 8, 12, 24, 28, 32, 32 <--- Telus Froyo. I'm a little shocked by the 3rd slot, 24mb?!
.......................... 6, 8, 24, 26, 28, 30 <----- See, I'm not crazy! Telus Froyo values are very similar to my Balanced Settings
.......................... In comparison, my Balanced script keeps your foreground apps alive longer, same free ram & more friendly to background apps!
.......................... For completeness:
.......................... 6, 8, 16, 20, 22, 24 <---- CM6 (Froyo)
.......................... 6, 8, 12, 16, 24, 32 <---- CM7 (Gingerbread)
.......................... 8, 12, 16, 24, 28, 32 <--- Google's Gingbread values, according to this.
Moved from OP (old Change Log)
UPDATED July 21, 2011: - Update 8
Improved code
Tweaked Current Status functionality. It will tell you if your current and prior minfrees match but if you apply a setting, it won't update the "prior minfrees" with the values you just installed. It will update the prior minfrees the next time you run the script.
UPDATED July 18, 2011: - Update 7
Tweaked Status Checker. Update 6 sometimes gave wrong launcher status
UPDATED July 16, 2011: - Update 6
Added Second MegaRAM device setting.
Added installation to system option - for easy use with Terminal Emulator!
Added UnSuperCharger verification
Improved status checker. It can sometimes determine if home is locked in memory! If not, it asks you if it is.
Saves SuperCharger settings! - They are displayed on the main menu if they exist.
Saves Cust-OOM settings! - Cust-OOM settings get added to the menu!
Smart Cust-OOMizer - Just try it
Improved the code some more. It's smarter than ever
Improved messages to user. Clearer instructions and errors are given!
Final attempt to get this to load on boot. Custom ROMs will now get the /data/userinit.sh and /data/99SuperCharger.sh files.
Easily cook into your rom! Just change the variable (rcpath=) on line 116 to the path of your *rc file!
1224 lines of code!
UPDATED June 29, 2011: - Update 5
Removed 2 minute delay from userinit.sh. Sorry, I didn't know that it would pause the boot process on some phones/roms
UPDATED June 26, 2011: - Update 4
Fixed issue with error check - commented it out as it would stop the script dead on some roms
Improved Status Checker some more
Improved the code. The script is much smarter, cleaner and efficient (no more temp files)
1001 lines of code!
UPDATED June 25, 2011: - Update 3b
Pulled earlier Update 3 - fixed minor noticeable errors and one HUGE one that went unnoticed...
UPDATED June 25, 2011: - Update 3 -PULLED
Added error check that exits script on any error
Tweaked OOM groupings/priorities (Froyo is the same as always, Gingerbread now takes into account Perceptible App)
Improved Status Checker
ReReFixed!? userinit.sh now used as a launcher for 99SuperCharger - with a 2 minute delay! (This boot script fix HAS to work )
Fixed sysctl error on some phone configurations
UPDATED June 20, 2011: - Update 2
Added User Selectable Scrolling Speed!
Fixed a couple of weird issues that some people had in yesterday's update
ReFixed? Still trying to get the 99SuperCharger boot script to load automatically for everybody... grrrrr...
UPDATED June 19, 2011: - Update 1
Added MegaMemory Device setting!
Fixed formatting for Script Manager update (40 columns)
Fixed (I hope) boot script not booting on many ROMs
Fixed long press back button kill (wasn't working)
Modified OOM groupings/priorities: Nothing breaks... EVER!
Improved the help html files
Was this useful info? If so...
Please HIT THANKS and Give a 5 Star Rating!
[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
Dunno what happened... the real OP and Post 4 got switched
So feel free to hit the thanks button on the "OP" again... LOL
Actually, Post 3 got somehow moved to Post 5 too.
So I dunno what's going on...
But at least Post 2 is still in the right place!
Easy as 4, 2, 5, 1, 3!
Oh and posts 6 through to 16,878 seem to be in the right order!
[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
Reserved reserved
Nice tips, zeppelin. The settings have much improved the performance of my Milestone, but I am still getting occasional redraws with LPP. Free RAM is usually between 38MB and 45MB, using VM Heap of 40M and your 6,10,24,40,50,60 settings for AMM.
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.
-SAIUN- said:
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.
Click to expand...
Click to collapse
For that, make sure you have a empty line at the end of the file (hit enter after entering the home_app line). This would make it not go away after reboot.
Sent from my Milestone using Tapatalk
How do I check what ade the currently minfree values on the system? I supose you don't have to reboot for the settings to go into effect, right?
Sent from my Milestone using Tapatalk
afadel said:
How do I check what ade the currently minfree values on the system? I supose you don't have to reboot for the settings to go into effect, right?
Sent from my Milestone using Tapatalk
Click to expand...
Click to collapse
Thanks for the empty line tip. I forgot about that
AMM displays your current values whenever you run it.
EDIT: NO It does NOT... oops AKMO does though.
I was under the impression that a reboot is required. I'll look into that further.
Let me know how it works for you.
Sent from my Milestone using Tapatalk
Edit: The local.prop edit requires reboot.
........AMM (or AKMO) and the disabling CM's lock home in memory setting do not require a reboot. So you can tweak AMM's settings on the fly!
You can check minfree using gscript running with root priviledge and the following command
cat /sys/module/lowmemorykiller/parameters/minfree
this shows you the values in pages, I believe it are 4Kbytes pages.
nice.
Yes minfree's values are in pages and 1 page = 4kbytes.
24mb would show as 6144.
ie. 6144*4/1024=24
-SAIUN- said:
Nice tips, zeppelin. The settings have much improved the performance of my Milestone, but I am still getting occasional redraws with LPP. Free RAM is usually between 38MB and 45MB, using VM Heap of 40M and your 6,10,24,40,50,60 settings for AMM.
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.
Click to expand...
Click to collapse
Yes see afadel's post after yours regarding the local.prop edit.
Hit enter so that you have an empty line at the end.
You're still getting redraws because the "bulletproof launcher" entry got deleted. Damn kryptonite!
I edited the OP accordingly.
Also, after you get the local.prop file working properly, see how much free ram you have at that time.
I'm thinking that you currently have 45mb free because the launcher is still getting killed.
So, if it doesn't get killed, it should be more like 30-35 mb free.
Now if you aren't getting redraws (launcher is kept alive) and your ram is still 40-45mb free, you can probably lower the 3rd value from 24 to 20.
Hello, nice tips
In my MM I had to change some the cache, using 40m is too much because phone is slowly, I notice it have low memory than using the standard memory configuration (28m in APAC) but I changed to 24m as I had in 2.1u1.
In normal use I have now 32MB free but setting to aggresive mode it goes to 40MB free.
The problem using aggresive mode is that if you are looking into maps and change to make some sum (i.e. using realcalc) you lost maps ubication, or if you return to maps you lost the state of other programs, so kernel kill the program.
Regards,
Claudio.
clmta said:
Hello, nice tips
In my MM I had to change some the cache, using 40m is too much because phone is slowly, I notice it have low memory than using the standard memory configuration (28m in APAC) but I changed to 24m as I had in 2.1u1.
Click to expand...
Click to collapse
Are you referring to VM Heap size?
I'm pretty sure now that VM heap size shouldn't really affect free ram.
But if it's too big, small apps will lag and if it's too small, large apps will lag.
I recommended 40mb because it would prevent most launchers from splitting into 2 virtual machines.
clmta said:
In normal use I have now 32MB free but setting to aggresive mode it goes to 40MB free.
The problem using aggresive mode is that if you are looking into maps and change to make some sum (i.e. using realcalc) you lost maps ubication, or if you return to maps you lost the state of other programs, so kernel kill the program.
Regards,
Claudio.
Click to expand...
Click to collapse
I guess here you are referring to AMM's aggressive settings?
The second number in AMM's aggressive settings is 12, which would make visible apps more likely to get killed than the 10 mb I suggested.
Come to think of it, perhaps I will test with that set to the default 8 mb ie. 6, 8, 24, 40, 50, 60
Im currently running 6,8,16,40,50,60. Is that crazy? XD
Btw one question, I posted in cm7 thread but no answer . Can I change this values without using AMM(uninstalled)? I mean, change it from Root Explorer, and settings would be the same after rebooting?
lol no you're not crazy.
Like I said, I may tinker a little more with my settings - 6, 8, 24, 40, 50, 60 is not that different from yours.
I was testing 6, 10, 20, 40, 50, 60 this afternoon but I didn't like it too much.
Sorry, I hadn't visited the the CM7 thread in a few hours.
I usually save that one till last because it always has some good reading lol.
But yes, you can edit the same file that gets edited by AOR's memory manager:
/system/etc/init.d/99complete
Be sure to get the permissions right.
I cheat and use SuperManager
Edit: Permissions for 99complete = chmod 755 /system/etc/init.d/99complete
zeppelinrox said:
lol no you're not crazy.
Like I said, I may tinker a little more with my settings - 6, 8, 24, 40, 50, 60 is not that different from yours.
I was testing 6, 10, 20, 40, 50, 60 this afternoon but I didn't like it too much.
Sorry, I hadn't visited the the CM7 thread in a few hours.
I usually save that one till last because it always has some good reading lol.
But yes, you can edit the same file that gets edited by AOR's memory manager:
/system/etc/init.d/99complete
Be sure to get the permissions right.
I cheat and use SuperManager
Click to expand...
Click to collapse
And right permissions are? Im newbie with them xD.
With 16 I don't get FCs in apps I'm using. I did this because I read a tutorial for AMM, and realized that these numbers (6,8 etc) are RAM, and when system reaches 16mb, it will FC the secondary server (i guess that is, lets say game or something? Am I wrong?)
Edit: wtf I don't have a 99complete .
99complete for your settings of: 6,8,16,40,50,60
Code:
#/sbin/sh
echo "1536,2048,4096,10240,12800,15360" > /sys/module/lowmemorykiller/parameters/minfree
I attached it as well - just remove the .txt extension.
Permissions are the same as 10overclock ie.
Edit: The hard core way ---> chmod 755 /system/etc/init.d/99complete
zeppelinrox said:
Are you referring to VM Heap size?
I'm pretty sure now that VM heap size shouldn't really affect free ram.
But if it's too big, small apps will lag and if it's too small, large apps will lag.
I recommended 40mb because it would prevent most launchers from splitting into 2 virtual machines.
Click to expand...
Click to collapse
ok, I understand the point now. I checked now and I saw 2 LauncherPro running, so I will make some tests to try to put them in only one VM.
Regards.
And what's the advantage of having the app running in one process only?
Sent from my Milestone using Tapatalk
After reading this page, I was under the impression that it's less efficient and that memory is wasted.
aph said:
In my testing ADW Ex needs at least 38mb to run totally smoothly so I set mine to 40 mb. Interesting that it splits itself into 2 separate processes to get around the heap size issue but still runs into it.
Click to expand...
Click to collapse
martino2k6 said:
If the two processes are running in the same virtual machine they should share the same memory space though. I mean, two different applications will run in different VMs, however even if one application requests to create a second process they will still be in the same VM.
I may be wrong, but this was my understanding behind it.
Click to expand...
Click to collapse
aph said:
System Panel only shows 1 of the 2, the one that uses less memory. Out of its consumption of 30mb only 10mb is shared, presumably with the one that uses 38mb that OS Monitor shows.
I've seen the larger process go up to 39mb after watching it a bit more. Also, Facebook will take as much as it can get, easily 50mb+.
Click to expand...
Click to collapse
Is my conclusion correct, or not so much?

[TOOL] V4.0.3-xdaAutoTool ALL-Win | V5.0.0b-xdaautoAPKTool | V1.0.3-xdaautoDeoTool

********************************************************
xda AutoTool (xAT)
CURRENT VERSION: 4.0.3 RELEASE
********************************************************
This POST: xda AutoTool (xAT) Windows Version (AIO)
2nd POST: xda autoAPKTool (xaAT) Command Line automation
3rd POST: xda autoDeodexTool (xaDT) Command Line automation
5th POST : MIUI smali editing and translation tips
7th POST : MIUI System Update modified for OTA
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
NOTES:
there's no need for a how-to and full doc in this beta
all auto apk tool and auto deodex tool applies here
adb functionality is in progress
still a lot of room for improvement
REQUESTS:
If you happen to have an idea, please post and make a clear description or screenshot of what you want to happen or do
TO DO:
add more options in the settings menu
catch errors and better handling errors
add more tabs for custom commands
PLANS:
my looking forward is to be able to create custom scripts and run with the tool
also to be able to put many jar files by just adding it in settings and run custom commands for that jar
that way it will automate whatever manual things users do in their customization of apks, rom zip, lang pack, etc
IMPORTANT:
ALL THE DEPENDENCIES LIKE OCX WILL PROMPT ERROR if not in your machine
YOU MAY NOT HAVE THESE OCX YET SO I INCLUDED IT IN THE Res folder
STEPS on FIRST RUN ONLY
1) Go to /Res/
2) Run FileRegister.exe to register these ocx files
If you are using latest w7 it may probably be registering in the wrong path so register manually.
INSTALL:
Place the folder where there is no space yet
C:xdaAutoTool
I havent handled white space yet
- Tested on Windows 7 workstation, it should run in XP as well
- All ocx and posibble dll references and dependecies will be in your machine if you are close to W7 X64 and had installed ms vb runtime in the past
- All the dependency file list are inside the docs folder (docs/xdaAutoTool.xml)
- This means i used mainly files in your Windows 7 system to run it without installation
- Installer will come later or when issues with running is that massive
********************************************************
xdaAutoTool CHANGELOG:
********************************************************
Version 4.0.3
10:30 AM 8/5/2012
====================================
- Fixed code of changing apktool version via combobox
Version 4.0.2
9:30 PM 3/7/2012
====================================
- Move apktool choose settings to combobox
- Fixed theming folder creation runtime error
- Speed up reading columns and lines on multiple apk to display in listview
Version 4.0.1
9:27 PM 2/28/2012
====================================
- Added MULTIPLE INPUT apk support, choose working folder in combobox
- Added code to detect status after recompile or decompile
- Update code to handle listview loading
- Executable size is still down to 1.476KB, decent, he he he
Version 4.0.0
7:58 PM 2/27/2012
====================================
- Recode detecting BIN folder for faster loading
- Load all available apktool versions in menu and use
- Added color code for text on compiled and not compiled apk
- Added save form position to remember when loading app (for testing)
- Added Decompile With..... apktool version
- Added Recompile With..... apktool version
- Added more columns:
-- Compiled (YES or NO)
-- Last compiled (apk)
-- Decompiled with (apktool version from yml file)
Version 3.0.1 (BETA)
2:59 PM 11/5/2011
====================================
- Fixed deodex full rom and timers
- Added bottom last panel as application path panel
- Added xUltimate-d9pc for THEMES
- Added running draw9patch compiler in pngs using xUltimate-d9pc
- Redo zipalign dist code in build usable apk, when option to zipalign is ON, the dist out apk will now be deleted
- Added toolbar icons
- Changed application icon temporarily
- Fixed changing apktool jar file version after pressing save button
Version 3.0.0 (BETA)
5:15 PM 10/29/2011
====================================
- Added mogrify theming options
- Added create themed folders
- Added apply Hue and Saturation using mogrify
- Added Build All Themed APKS, all apks in specific folder structure
- Added Build One Set themed apks
- Added support for Copy_Folders.txt in _CUSTOM_RES
USAGE:
"Left file path source" + delimeter "||" + "Right file path destination"
SAMPLE:
Launcher2buildapkresxmldefault_workspace.xml||Launcher2resxmldefault_workspace.xml
NOTE:
Folder gets deleted after build usable
- Added support for Copy_Files.txt in _CUSTOM_RES
USAGE:
"Left folder path source" + delimeter "||" + "Right folder path destination"
SAMPLE:
framework-resbuildapkresanim||framework-resresanim
NOTE:
File does not get deleted yet after build usable,
thinking if it make sense, filecopy command already overwrites
- Added MOD TAB, use for multiple modding apks
- Added overwrite AndroidManifest.xml binary file
In APK DIST generated apks this is not necessary
Using the apks _OUTPUT_APK_DIST_ZIPALIGN after AndroidManifest.xml is better
It generates a build apk and put it in _OUTPUT_APK_DIST_ZIPALIGN
This then will be signed and gets a new META-INF file to ake the apk usable
(overwrite AndroidManifest.xml binary file is only use when all else fails)
- Added reference to microsoft scripting runtime,
Better folder/file handling,
Space not yet handled for these are third party executables
- Switch to Native Code compiler, no-optimization
- Exe is now 800kb, compiled optimized exe is throwing error atm
P-Code is not an option
Version 2.0.0 (BETA)
8:02 PM 8/28/2011
====================================
- Added zipalign.exe file in bin folder
- Added generate zip aligned APKs option in build usable APKs command
- Added move zip aligned apks in _OUTPUT_APK_ZIPALIGN to _OUTPUT_APK folder
- Added move zip aligned apks in _OUTPUT_APK_DIST_ZIPALIGN to _OUTPUT_APK folder
- Added apktool dist generated apks copy option
- Added apktool dist generated apks zipaligned option
- Added make zipaligned apks independent button for apks in _OUTPUT_APK
- Fixed enabling selection buttons bug
- Fixed error restarting when app save window position on exit
- Fixed saving tab to remember it next time app is started
- Optimized BUILD USABLE apk commands
Version 1.0.3 (BETA)
11:03 AM 6/14/2011
====================================
- Added optimized pngs in TOOLS tab
- Added clear files of working directories in TOOLS tab
- Added feature to add to open with menu, in "Edit" menu
- Added copy to phone and delete to phone function in phone explorer
- Added save column width on all listviews
- Changed UI for progress bar when executing commands
Version 1.0.2 (BETA)
12:33 PM 6/11/2011
====================================
- Added Phone Explorer in ADB TAB
----display system app and data app as initial
----able to copy files from those folders for now
----filter files and save last browse path in worstation
----some adb commands added to UI
- Added Apply Mods
- Added saving of TAB positions when exiting app
- Added save form positions for main and future phone explorer
- Added load input folder when APK Tab was pressed
- Moved all adb related commands in the Phone Explorer form
- Fixed error when double clicking list view without files
- Fixed deodexing rom zip picked from directory with spaces in file path
- Fixed editing bootclass files and adb files
- Changed SIGN to TOOLS, more sign commands in mouse Right Click
- Changed UI for folders and file list views
- Changed the way icons are shown when loading files, now associated
Version 1.0.1 (BETA)
3:34 PM 6/6/2011
====================================
- Fixed list files error when all items are deleted
- Fixed error on check uncheck option when no item is in the list
- Fixed deo rom directory clean up, will clear all source/deo directory
- Added capability to change apktool, smali and baksmali jar file versions
- Added experimental deodexed a full rom and create rom zip file
- Added more flexibility on selection method for files in the list
Version 1.0.0 (BETA)
11:30 PM 6/3/2011
====================================
- Initial release
- apk tool automation
- deodexing basics automation
- sign apk and zip commands
- adb commands- Initial release
- apk tool automation
- deodexing basics automation
- sign apk and zip commands
- adb commands
********************************************************
Acknowledgement:
********************************************************
My thanks to the support of the people here in xda and people who
appreciate my work in any way expressed, Cheers!!!
MGunther, JHatley
********************************************************
CREDITS:
********************************************************
Brut.all for Apktool - a tool for reengineering apk files
http://www.7-zip.org - 7za commandline version
- signapk.jar
- optipng http://code.google.com/p/roptipng/
- smali/baksmali
- JesusFreke, Daneshm90's script and crzyruski
- mogrify executable by ImageMagick
- http://www.imagemagick.org/script/index.php
- xeudoxus xUltimate Draw9Patch Compiler
- http://www.droidforums.net/forum/xeudoxus/47283-release-xultimate.html
XDA:DevDB Information
[TOOL] V4.0.3-xdaAutoTool ALL-Win | V5.0.0b-xdaautoAPKTool | V1.0.3-xdaautoDeoTool, Tool/Utility for the HTC Desire
Contributors
xavierjohn22
Version Information
Status: Testing
Created 2014-11-05
Last Updated 2014-11-04
xda AutoAPKTOOL
********************************************************
xda AutoAPKTOOL (xAAT)
CURRENT VERSION: 5.0.0b
********************************************************
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
5th POST: MIUI smali hunting and images to be change + PSD sources
This tool has been tested MIUI XJ Rom HERE
Compile and Decompile APKS, Build language packs faster with many devices, N1, G7, Galaxy S, etc..
OBJECTIVE:
Main intention is to automate/batch processing decompiling and recompiling, flashable zip creation, etc
Initially made when translating miui apks and building lang pack
USAGE:
Run AutoAPKToolMain.bat
QUICK HOW TO:
THE 1-2-3-4 + 5 PROCESS
- Place ALL apks to decompile in _INPUT_APK folder
- Place the framework-res apk in the _INPUT_APK as well (filename: framework-res.apk)
- Choose 1 then hit enter for if framework-res.apk command
(note that framework-res.apk will always be in the _INPUT_APK folder)
- Choose 2 to decompile all in one shot
(this will create the resources and sources folder inside _INPUT_APK folder)
- Do your edits for all in that folder, add your values-en, values-pt, raw-en, etc.
You may add drawable-en-hdpi as well
Edit your strings.xml and many more...
Remember to keep the folder structure intact
After all edits are done
- Choose 3 and hit enter
This will recompile all in one shot
A notepad will appear to show if there are errors in recompiling, check the log
Adjust if necessary, you can choose to recompile a single folder if you need to
- Choose 4 to build usable APKs
All apks will be in the _OUT_APK folder (These will not FC)
All overwriting of files are automated
These APKs are from the Original apk with:
resource.arsc + classes.dex changed + other resources added
-Choose 5 (the fun part, lol)
It will build your flashable zip signed already, there's a template in the _FLASHABLES folder
You may edit it, replace it with the same name, just keep templates by renaming, place your build.prop there, etc
Read the text file thoroughly...
So that is the short story....
For other options and features read the ReadMeHistory.txt
FYI, read notes below (in _OUT_APKTOOL_DIST folder, those are build by APK Tool)
I manage to build APKs that don't FC in the _OUT_APKTOOL_DIST only that...... (see txt for complete explanation)
EXAMPLE 1: IMAGE
If you are overwriting an image in an APK (widget_1x.png)
_CUSTOM_RES
-MiuiMusic
--res
---drawable-hdpi
----widget_1x.png (this is the image i will overwrite)
Otherwise if you are adding folders no need to turn on "overwrite resources), put all your files in:
_INPUT_APK
-MiuiMusic
--res
---drawable-de-hdpi (this is the image folder i added)
----widget_1x.png
The Copy added resources "ON" will take care of copying these added resources or files
SOME EXAMPLES OF IMAGES AND FILES OVERRIDING:
"_CUSTOM_RES\AppShare\res\drawable-hdpi\installed.png"
"_CUSTOM_RES\Gallery\res\menu\media_context_menu.xml"
"_CUSTOM_RES\ThemeManager\res\drawable-hdpi\desktop_mask.png"
EXAMPLE 2: XML BINARY WHEN YOU DO DIRECT EDITS
Say you are editing a file straight from framework-res\res\drawable\progress_horizontal.xml
FOR NOW YOU HAVE TO DO THIS:
1) After doing [3], recompiling the apk
2) Copy the file _INPUT_APK\framework-res\build\apk\res\drawable\progress_horizontal.xml
to
_CUSTOM_RES\framework-res\res\drawable\progress_horizontal.xml
(this is the binary of your edited file, by doing this, you are telling the tool to overwrite it when building the apk)
3) Once this is done, make sure that "Overwrite res using _CUSTOM_RES" is ON, it is ON by default
4) then do build usable, It should overwrite those binaries in the APK
NOTES:
"Build Usable APKs" perform these depending on options
- overwrite resources.arsc (ON/OFF)
- overwrite classes.dex (ON/OFF)
- copy added resources (e.g. drawable-de-hdpi) (ON/OFF)
- overwrite any file in APK using _CUSTOM_RES (ON/OFF)
- copy optimized pngs to APK (ON/OFF) - EXPERIMENTAL @ the moment (20110503)
- -mx3 is the compression level for the meantime, i'll make it flexible after deotool and windows version
REQUIREMENTS:
- you must have java installed on your machine, you may even have it already, mine is this per the main log file
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
- tested on windows 7, x64 pc
- adb must be installed in the system, download the image attached to configure adb to be called globally in cmds
CREDITS
Brut.all for Apktool - a tool for reengineering apk files
http://www.7-zip.org - 7za commandline version
signapk.jar
optipng http://code.google.com/p/roptipng/
mogrify http://www.imagemagick.org/www/binary-releases.html#windows
guntherm6​6 for bringing mogrify close to this tool
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
********************************************************
AUTO APK TOOL CHANGELOG:
********************************************************
Version 5.0.0b
- Massive overhaul of codes
- New in this version is 87 and 88
87 = Can be use to remember single recompile of the last path (after 8)
Turn this ON and it will be active
88 = Is use to trigger the single recompile action
recompiling what is the last path
- Redo the recompile code
- Redo menu, starting from 21 is the new apktool 2.0.0.X settings
- 21 Use New apktool version
- 22 Use -f on recompile (this was migrated to work with new apktool and old apktool)
- 23 Use -c on recompile (this is new to work on new apktool)
- 24 Use -o on recompile (this is new to work on new apktool)
This will create a apkname_NEW.apk in _OUT_NEW folder
- 31 Overwrite resources.arsc
- 32 Overwrite classes.dex
- 33 Overwrite using _CUSTOM_RES
- 34 Copy added resources to APK
- 35 Make zipaligned apk from _OUT_APK
- 36 Force delete dir on Decompile (-f)
- 37 Optimized All PNGS in APKs
- 38 Optimized "xyz.9.png" PNGS in APKs
ISSUE:
- The ZIP Align is broken on some apks
- Use 42 ON but leave 43 and 44 off for now
- This will also be redo because the code right now zipaligns then sign
should be sign then zipalign
Version 4.0.2
- Added Menu 21 ON/OFF for new apktool support
- Changed Menu 22 ON/OFF settings saved, Overwrite resources.arsc
- Changed Menu 23 ON/OFF settings saved, Overwrite classes.dex
- Changed Menu 24 ON/OFF settings saved, Overwrite using _CUSTOM_RES
- Changed Menu 25 ON/OFF settings saved, Copy added resources to APK
- Changed Menu 26 ON/OFF settings saved, Make zipaligned apk from _OUT_APK
- Changed Menu 27 ON/OFF settings saved, Force delete dir on Decompile (-f)
- Changed Menu 28 ON/OFF settings saved, Force delete dir on Recompile (-f)
- Changed Menu 29 ON/OFF settings saved, Optimized All PNGS in APKs
- Changed Menu 30 ON/OFF settings saved, Optimized "xyz.9.png" PNGS in APKs
- Changed Menu 85 ON/OFF settings saved, Sign APKs after build themed apks
- Changed Menu 86 ON/OFF settings saved, Build a Flashable Theme Zip (after 84, 85)
version 4.0.1b
- Added support for new apktool 2.0.0b7
- Added menu 58, Open installed framework folder
- Improved colored menu to easily determine numbers from text
Colored_AutoAPKToolMain.bat = colored code
AutoAPKToolMain.bat = default code
- Obsoleted 13recompileICS.bat = 13recompileICS.bat.obsolete
- Obsoleted 14rebuildusableICS.bat.obsolete = 14rebuildusableICS.bat.obsolete
version 4.0.0
8:08 PM 12/20/2013
- Added autoinstall frameworks on application load
55, 56, 57
- chgcolor options for screen clarity (see acknowledgement in hep file)
- clean-up code for ICS decompile, unneeded file obsoleted but still on root directory
- clean-up menus and simplify terms on menus
- input text is set to yellow
- AutoAPKToolMain_Colored.bat is a colored text screen
- AutoAPKToolMain.bat is the original file (use this if _Colored fails on your system)
version 3.0.2
6:56 PM 8/19/2012
- Fixed displaying apktool version, remove 'if codes', now displays apktool name
as its version number, there's no need to change and add to this in the future
version 3.0.1
2:12 PM 8/4/2012
- Make the choosing of apktool version dynamic
- Your apktool must have "apktool" in the filename as prefix and obviously
extension is ".jar" (e.g. apktool_1.4.3.jar, apktool_1.3.1.jar)
- Fixed detecting apk before signing using option 43 and 44
version 3.0.0
10:09 PM 8/3/2012
- Option 42, 43, 44 explained
- Option 42, This is the raw APK tool output in dist (Without using my build apk)
_OUT_APKTOOL_DIST
- Option 43, This is the raw APK tool output then Zipaligned
_OUT_APKTOOL_DIST_ZIPALIGN
- Option 44, When 43 is ON, 44 is ON, the zipalinged apk gets signed
Option 44 wont work without 43 ON
There's a text file Sign_These_Then_Move.txt in _OUT_APKTOOL_DIST_ZIPALIGN
Apks listed here gets signed and moved to _OUT_APKTOOL_DIST_ZIPALIGN_SIGNED
modified by Agat63 03/31/12
version 2.0.4
1:31 AM 3/31/12
- Added decompile ICS apk
- Added recompile ICS apk
- Added baksmali JAR files
- Added baksmali DEX files
- Added smali JAR files
- Added smali DEX files
Version 2.0.3e
1:19 AM 7/5/2012
by xdaer Peteragent5
http://forum.xda-developers.com/showpost.php?p=27566198&postcount=811
- I've added the option to use: apktool_1.4.3.jar
- And I've updated the aapt.exe from latest Android SDK
(Android SDK Platfrorm Tools - Rev.11)
Version 2.0.3b/c/d
3:27 PM 10/24/2011
(d)
- Added flexibility of building flashable zip, will build according to folder name
- Redo folder structure in building themed apks
(b)
- Added create themed folders
- Added apply Hue and Saturation on pngs
(a)
- Added build all themed, apks in all folders _THEMES
- Added build one themed, apks in specified folder _THEMES
- Option to sign apks after build
- Option to make a flashable zip
Version 2.0.3
- Changed folder handling in mogrify commands
- Added option to sign apk after mogrify themed apks are build and zipalign
- Fixed signing apks/zip commands
Version 2.0.2
- Added mogrify.exe and mogrify features
(Ability to change hues of PNGs, see acknowledgements for mogrify usage)
- Move Following APK DIST generated apk commands to recompile
(Copy generated apks of apktool in _OUT_APKTOOL_DIST)
(Create Zipalign apks in _OUT_APKTOOL_DIST to _OUT_APKTOOL_DIST_ZIPALIGN)
Version 2.0.1
- Added saving settings of copy apks and generate zip aligns in dist gen apks
- Added saving settings of compression level
Version 2.0.0
- Added adb reboot commands
- Added script to save apktool version after changing and use that on start of app
- Added option to only zipalign apks placed in the _OUT_APK folder
- Added move apks from _OUT_APK_ZIPALIGN to _OUT_APK
(useful before building flashable zip)
Version 1.0.9
- Added option to generate zipalign apks after each recompile
- goes to _OUT_APKTOOL_DIST_ZIPALIGN
- Separate option for apktool generated apks
Version 1.0.8
- Added option to toggle copying of apk from DIST folder of apktool gen directory
- Added zip align apks (generated apk from _OUT_APK to _OUT_APK_ZIPALIGN)
- Added setting of compression level
- Added Delete "folder name" of mod file text file
___If you have "Mod1" folder the file should be "Delete_Mod1.txt"
___Sample line in the text file is "AppShare\res\drawable-hdpi\installed.png"
___No need to specify the _INPUT_APK folder
___It will delete any file in that path once listed in the text file
- Fixed code jumping over optimization of pngs
Version 1.0.7
- Added install additional resources
Version 1.0.6
- Added more adb functions
- Added request for mods folders
- Fixed error handling when "Enter" key is pressed without choice
- Fixed menu choices for blank entry and "Enter" key is pressed as well
- Fixed mod folders applying only the last folder in menu
Version 1.0.5
- Added apktool 1.4.1, see brut's site for changelog
(Make sure you also have the aapt file from the latest migration notes)
http://code.google.com/p/android-apktool/downloads/list
- Added Single Recompile then Build
- Added adb commands and tools, you must have ADB installed and configure already,
(download "configure_adb_to_be_called_anywhere_in_cmd.rar")
- Reorganized menu for future improvements
Version 1.0.4
- Added optimized "xyz.9.png" in APKs option
Version 1.0.3
- Fix menu handling for option 19 to 21
- Changed "u" switch to "a" for handling copy added resources
- Added optimized PNGs in APKs option
Version 1.0.2
- Initial release
xda AutoDeodexTOOL
********************************************************
xda AutoDEODEXTOOL (xADT)
CURRENT VERSION: 1.0.3
********************************************************
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
OBJECTIVE:
Automate/batch processing of deodexing jars and apks (odexed rom)
USAGE:
Run AutoDEOToolMain.bat
IMPORTANT:
- PLEASE AVOID SPACES IN THE TOOL FOLDER PATH FOR NOW
- Good path use underscores or only letters, nos. (L:\TOOL\AutoDEOTool1.0.1)
- Some of the APKs does not like the -mX optimization so watch for those
QUICK HOW TO:
To deodex framework files,
- Place the JARs and corresponding ODEX files in the directory "_framework".
- Otherwise, place deodexed framework JARs into the directory "deodexed_JAR".
To deodex APK files,
- Place the APKs and corresponding ODEX files in the directory "_app".
(1) is for stock android deodexing
(2) is for non stock, such as sense, miui where you can put a custom bootclasspath
(3 to 6) options are for deodexing apks only or jars with 1 and 2 functionality
Options to change between smali-baksmali versions
NOTES:
- Basic out is performed by the tool and classes.dex is just added to the jar/apk
- No compression feature yet for that would be a separate option, i turned it off for FC with miui soundrecorder apk
REQUIREMENTS:
- you must have java installed on your machine, you may even have it already, mine is:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
- tested on windows 7, x64 pc
CREDITS
CREDITS:
- JesusFreke, Daneshm90's script and crzyruski Auto-Deodexer
- 7za commandline version http://www.7-zip.org
- sggua @ xda (Sergiy G) http://sgg.im/
********************************************************
AUTO DEODEX TOOL CHANGELOG:
********************************************************
Version 1.0.3
sggua @ xda
http://sgg.im/
- New smali/backsmali version 1.3.2
- API number for right deodex
Version 1.0.2
- Added optimized JARs and APKs option
- Added compression level, functioning separately
- Added clean folders
- Fixed compression levels when -a for all called batch
Version 1.0.1
- Initial Release
- Deodex stock and custom bootclass jars and apks of a rom
- Deodex stock and custom bootclass apks only
- Deodex stock and custom bootclass jars only
i love you
These are some of the smalis you need to change
Posted here during MIUI Ver 1.4.22/1.5.6
(this means, it may change next week, anyways basics are posted)
Use Beyond Compare or other folder, file comparer, for comparing changes
Use Windows Grep for hunting down other smalis in the future
If you got chinese character and you have translated all in strings, arrays, raw, etc.., it is most likely to be in the smali files
Backup
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\backup\ui\LocalBackupMain.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm:ss"
const-string v1, "yyyy MM dd HH:mm:ss"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\milk\ui\PreferenceCloudBackup.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm"
const-string v1, "yyyy MM dd HH:mm:ss"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\milk\ui\ProgressResultActivity.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm"
const-string v1, "yyyy MM dd HH:mm:ss"
FileExplorer
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\FileExplorer\smali\com\android\fileexplorer\Util.smali
Code:
const-string v2, "\u7167\u7247"
const-string v2, "MIUI Camera Shots"
const-string v2, "SD\u5361"
const-string v2, "SD Card"
const-string v2, "MIUI\u622a\u5c4f"
const-string v2, "MIUI Screenshots"
const-string v2, "\u94c3\u58f0"
const-string v2, "Downloads"
Gallery
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\app\AppHelper.smali
Code:
const-string v3, "\u25cf"
const-string v3, "Menu" or const-string v3, "Sort"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\fileexplorer\FileViewInteractionHub$5.smali
Code:
const-string v8, "\u8bbe\u7f6e\u58c1\u7eb8"
const-string v8, "Use as wallpaper"
const-string v9, "\u8bbe\u4e3a\u684c\u9762\u58c1\u7eb8"
const-string v9, "Set as desktop wallpaper"
const-string v9, "\u8bbe\u4e3a\u9501\u5c4f\u58c1\u7eb8"
const-string v9, "Set as lockscreen wallpaper"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\ui\FolderViewActivity$6.smali
Code:
const-string v2, "\u91cd\u547d\u540d\u5931\u8d25"
const-string v2, "Rename failed"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\ui\InformationDialog.smali
Code:
const-string v18, "\u89c6\u9891\u5c5e\u6027"
const-string v18, "Video properties"
const-string v18, "\u56fe\u7247\u5c5e\u6027"
const-string v18, "Video properties"
const-string v5, "\u89c6\u9891\u5c5e\u6027"
const-string v5, "Video properties"
const-string v5, "\u56fe\u7247\u5c5e\u6027"
const-string v5, "Image properties"
+ this xml file in Gallery
\Gallery\res\menu\media_context_menu.xml
Code:
<item android:id="@id/rename" android:title="???" />
<item android:id="@id/rename" android:title="Rename" />
Launcher2
Make your own workspace in desktop
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Launcher2\res\xml\default_workspace.xml
MiuiCamera
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\MiuiCamera\smali\com\miui\camera\ui\PictureSizePreferenceActivity.smali
Code:
const-string v10, " (\u5168\u5c4f)"
const-string v10, " (Full Screen)"
MiuiMusic
I don't change and remove tabs in MiuiMusic, it's okay for us here in Singapore
Don't forget to translate plurals.xml too
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\MiuiMusic\res\values\plurals.xml
Mms
translate
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Mms\res\raw-en\sms_frequently_used_phrase
to remove the third tab
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Mms\smali\com\android\mms\ui\MmsTabActivity.smali
remove these lines:
Code:
----------------------------
.method static constructor <clinit>()V
.locals 1
.prologue
.line 22
const/4 v0, 0x0
sput-boolean v0, Lcom/android/mms/ui/MmsTabActivity;->sPasswordConfirmed:Z
return-void
.end method
-----------------------------
.method private setupRecommendationTab()V
.locals 4
.prologue
.line 95
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 96
const-class v1, Lcom/android/mms/ui/FestivalSmsCategoryList;
invoke-virtual {v0, p0, v1}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
.line 97
iget-object v1, p0, Lcom/android/mms/ui/MmsTabActivity;->mTabHost:Landroid/widget/TabHost;
iget-object v2, p0, Lcom/android/mms/ui/MmsTabActivity;->mTabHost:Landroid/widget/TabHost;
const-string v3, "festival"
invoke-virtual {v2, v3}, Landroid/widget/TabHost;->newTabSpec(Ljava/lang/String;)Landroid/widget/TabHost$TabSpec;
move-result-object v2
const v3, 0x7f090135
invoke-virtual {p0, v3}, Lcom/android/mms/ui/MmsTabActivity;->getText(I)Ljava/lang/CharSequence;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/widget/TabHost$TabSpec;->setIndicator(Ljava/lang/CharSequence;)Landroid/widget/TabHost$TabSpec;
move-result-object v2
invoke-virtual {v2, v0}, Landroid/widget/TabHost$TabSpec;->setContent(Landroid/content/Intent;)Landroid/widget/TabHost$TabSpec;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/widget/TabHost;->addTab(Landroid/widget/TabHost$TabSpec;)V
.line 99
return-void
.end method
-----------------------------
.line 45
invoke-direct {p0}, Lcom/android/mms/ui/MmsTabActivity;->setupRecommendationTab()V
Notes
Introduction translation
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Notes\res\raw\introduction
Settings
if you are en base provide html helpfile for tethering too
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_help.html
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_usb_help.html
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_wifi_help.html
Sidekick
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\SideKick\smali\com\android\sidekick\InputHistoryAdapter.smali
Code:
const-string v2, "\u4eca\u5929"
const-string v2, "Today"
const-string v2, "\u6628\u5929"
const-string v2, "Yesterday"
IMAGES that needs to be taken care of,
Decompile my Updates or Full ROM apks and grab the images there if you want to use it
xavierjohn22 said:
LOL, i was looking for your email in android but never found it, so i posted it here, ha ha ha
Click to expand...
Click to collapse
Haha, you made my day!!! b2t: very nice work, love this new toy. Makes the translation work faster then before.
How to set-up System Update with MIUI
1. Set-up your server
2. Modify the Update.apk smali file pointing to your json file
3. Make your json file and upload it to the server
4. Upload your files (see folder structure)
5. Optional grab my ota binary in xbin, it's from atroy of china, else make your own ota binary
If this will prevent the boot loop of cooked framework s, this is extremely useful indeed. Thank you
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
droidzone said:
If this will prevent the boot loop of cooked framework s, this is extremely useful indeed. Thank you
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
Click to expand...
Click to collapse
kindly feedback when you try it, thanks dude
xavierjohn22 said:
kindly feedback when you try it, thanks dude
Click to expand...
Click to collapse
Will definitely do that..
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
@XJ When i read this it's a little abracadabra...
Is it what you're saying we can make our ohne language pack?
Just folow the steps and make your ohne NL pack (in my case) whenever you want and we can adjust it whenever we want?
Raffie75 said:
@XJ When i read this it's a little abracadabra...
Is it what you're saying we can make our ohne language pack?
Just folow the steps and make your ohne NL pack (in my case) whenever you want and we can adjust it whenever we want?
Click to expand...
Click to collapse
Yes.
Just grab a deodexed miui rom,
Follow what is in the OP, then you have your language pack, i did it to let others try to make their own.
and it relieves me of human error when translating and making multi lang in MIUI, that why we dont usually get chinese strings, only in some smali's left out when new ones come along
Man, you are the master!
Can't i put the translated (say the strings) in the right folder and start with step 2 or i think 3 recompile? Or maybe use the Latest translation and wipe all the other languages?
Sent from my HTC Desire using Tapatalk
Raffie75 said:
Man, you are the master!
Can't i put the translated (say the strings) in the right folder and start with step 2 or i think 3 recompile? Or maybe use the Latest translation and wipe all the other languages?
Sent from my HTC Desire using Tapatalk
Click to expand...
Click to collapse
Yes you can do both
yup if you do the first grab the stock apks from a deodexed rom, same version. or grab the apks from my EN and ZH rom
then yeah put your values-nl, raw nl in the right places.
the next one will work too. and you can see how the folders are structure after decompile in the framework-res, so it will aid you in committing mistake
after that both will result in lesser size apks than the multi lang since you just have your language
droidzone said:
Will definitely do that..
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
Click to expand...
Click to collapse
Okay. Buddy.thanks.
Sent from my HTC Desire using XDA App
Nice tool xavierjohn
While apk manager faild to recompile my apks this works.
But my xml edits aren't in apk after recompile. Why?
What option should i change?
affmalg said:
Nice tool xavierjohn
While apk manager faild to recompile my apks this works.
But my xml edits aren't in apk after recompile. Why?
What option should i change?
Click to expand...
Click to collapse
What kind of xml dude?
Is it inside the values? I mean you straight edit from values? Or any folder?
Sent from my HTC Desire using XDA App
xavierjohn22 said:
What kind of xml dude?
Is it inside the values? I mean you straight edit from values? Or any folder?
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
Sorry that i didn't mention it.
The xml i edited were was framework-res/res/value/styles.xml and framework-res/res/drawable/progress_horizontal.xml
I opened i with notepad++ and edited a color hex code, saved and recompiled.
What do you mean with folder?
Thanks a lot for the tool. I m gonna give it a try tomorrow while preparing the greek pack for the latest MIUI
affmalg said:
Sorry that i didn't mention it.
The xml i edited were was framework-res/res/value/styles.xml and framework-res/res/drawable/progress_horizontal.xml
I opened i with notepad++ and edited a color hex code, saved and recompiled.
What do you mean with folder?
Click to expand...
Click to collapse
Ah sorry too, i was not clear either.
Usually i do values-en or values-zh or drawable-en when i do translation in miui.
Anyways, it should save the changes upon recompile.
During build usable make sure:
Overwrite resources.arsc : (10) = ON
Overwrite classes.dex : (11) = ON
10, mostly handle those edits in values xml files
11, when smali edits are made
EDIT:
Ah shocks wait, i am looking at it, seems like i turned it off by bypassing the script

[MOD] Browser By Vgeezy

Hello yes the user name says Blunttedsmurf, but I am Vgeezy from the Thrive Tablet community. Since there is nothing for the Thrive here, I'm putting my mod here. I came here to share how to change your default useragent on your stock browser to desktop permanently without messing with anything else. You will still be able to select other user agents but your default will be desktop if you restart or reboot your device. My method does not require you to mess with the framework-res.apk or the framework.jar. Messing with those files cause your platform to FCs, reboots, and other apps depend on your system useragent to stay mobile in order to work properly. I'm on honeycomb 3.2 so you're results and findings may vary. Before you try watch my proof on youtube click the the link:
MODBrowser!! Finally
Try at your own risk!!! I am not responsible for your machine!!!
Make backups
What You Need
1. Browser.apk
2. Apk Manger, or your choice of apk decompiler
3. Notepad ++
4. A little know how!!!
How To Mod
1. Decompile the browser.apk
2. locate the BrowserSettings.smali (mine was in) smali\com\android\browser\
3. Open it in notepad ++
4. Under: .method private constructor <init>()V
5. Find:
.line 105
iput v2, p0, Lcom/android/browser/BrowserSettings;->userAgent:I
6. Change to:
.line 105
const/4 v1, 0x1
iput v1, p0, Lcom/android/browser/BrowserSettings;->userAgent:I
7. save your work, recompile the apk, sign it.
8. Uninstall your browser.apk and install the Mod.
9. Enjoy!!!!!
All you are doing is inputting choice 1 at the time of creation, restart, and reboot. If your choice for desktop useragent is not the second choice under android then you must figure out what number it is and change 0x1 to what ever number it is i.e. 0x2. Just remember android/mobile is and always choice 0.
TRY AT OWN RISK, TIS APK IS ONLY MENT FOR Honeycomb 3.2 and 3.1 ROOTED!!! I AM NOT RESPONSIBLE FOR YOUR MACHINE
WHAT YOU NEED
To be ROOTED
MODBROWSER.APK
And A lil know how
INSTALLATION:
1. Download and put the zip on an SD card
2. Insert the SD card into your device, and power off the device
3. Restart your device in recovery and select fastboot
4. Select install zip from sdcard, then choose zip from sdcard, then choose External SD Card
5. Reboot your device and enjoy!!!
Update-
1. I made it a flashable update (easier)
2. I changed xml files to reflect useragent and zoom choice as desktop and far, so it will not mess up if you select settings.
+++YOU'LL FIND UAString TAB UNDER SETTINGS.+++
YES IT DOES STAY AFTER YOU CLOSE THE BROWSER, AND AFTER A REBOOT!
# Note # It may not create a icon on your home screen but it is on the apps page, just drag it to your home page
MODBrowser3.2.b2.zip (Meant for 3.2 platform)
MODBrowser3.1.b1.zip (Meant for 3.1 platform)
Please give me feedback
I AM VGEEZY
All my work will be on here and Thriveforums .org from now on. Yes I am the same Vgeezy that did Netflix patch, and flash mod. Currently working on HBOGO.apk....

[GUIDE] [how to] CREATE OWN ROM [FOR ANY ANDROID DEVICE] [FOR N00B] [EASIEST METHODS]

NOTE: THIS GUIDE WILL WORK ANY ANDROID DEVICE BUT HAS FEW EXTRA PRE-SUGGESTED LINKS FOR GALAXY ACE PLUS USERS.
Click to expand...
Click to collapse
Special Thanks to -
dsixda for his awesome kitchen. Please Hit Thanks button for him.
inspired by isidromxz's thread.
Please kindly remind me if i have forgotten to write any name in thanks section, i have collected all things from many many sources and with modification.
Click to expand...
Click to collapse
Who is this tutorial for?
Absolute Beginners.
People with little or no programming skills.
people who really want to learn how to make custom rom's
people who want to learn android and don't know where to start.
Click to expand...
Click to collapse
Tools Required : (Update them manually and report me dead links please)
Java JDK FROM HERE OR JAVA.SUN.COM - FOR INSTALLING CYWIGN
(WARNING: Do not install Cygwin before the JDK!!
Click to expand...
Click to collapse
Cywign Direct Download- Linux Terminal For Windows
Android Kitchen (ROM Development Tool)- For Cooking custom ROM and many more things, Please update this Kitchen to latest version when available.
Official Link to dxda's Kitchen - Official Thread and Github source. Please refer FAQ on official thread for Kitchen related problems.
Click to expand...
Click to collapse
Demo META-INF Folder Download- For Making Flashable zip files and comparing updater script.
Custom Booting.zip - for custom boot animation
notepad++ - for editing files like build.prop, updaterscript
MOST IMPORTANT TOOL YOUR BRAIN... AND ALSO LOTS OF TIME... [DOWNLOAD LINK NOT AVAILABLE...lol]
Click to expand...
Click to collapse
Step one: Installing the JAVA JDK, Cygwin and Setting up the Kitchen.
*Before you do anything install the java jdk*
Try this Dsixda Kitchen Install Picture Tutor(recommended)
OR
watch this video tutorial by gitagaire for how to setup cygwin and kitchen(recommended)
Click to expand...
Click to collapse
INSTRUCTIONS
Download and extract the cygwin_packages.zip
Run the set up(make sure there is no previous cygwin installation)
NOTE: INSTALL CYGWIN IN ROOT DISK LIKE C:\
Follow the kitchen read me txt!!!
local package directory *must* be the path to the cygwin_packages folder that you just extracted
{
"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"
}
Click to expand...
Click to collapse
when it shows all the package names, go to the top and select "all default" until it changes to "all install" (you must click on the arrows)
Click to expand...
Click to collapse
Download the kitchen from above. Then, extract the kitchen's .zip file to a folder under your home account. Rename the dsixda-android-kitchen-*** folder to just "kitchen". In Cygwin, this folder would depend on what was set for your Cygwin install directory, e.g. C:\cygwin\home\John\kitchen
NOTE!! If your user folder contains spaces (e.g. C:\cygwin\home\John Smith\kitchen), then the kitchen will not function properly. Instead, copy it under C:\cygwin\home\kitchen.
Now your ready to run the kitchen type:
those who have their kitchen like this C:\cygwin\home\John\kitchen use these commands given below.
cd kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
those who have their kitchen like this C:\cygwin\home\kitchen use these commands given below.
cd ../kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
If you did things right you should see this:
congratulations!!
Click to expand...
Click to collapse
Step Two: Setting up a working folder
THERE ARE TOW METHODS FOR THIS.
1. WHEN YOU HAVE BASE ROM AVAILABLE.
2. WHEN YOU DON'T HAVE BASE ROM.
FIRST METHOD -
First our folder structure should look like this:
Code:
cygwin folder/home/your user name/kitchen
Inside the kitchen it should look like this:
Now we need a rom to work on, for GALAXY ACE PLUS[s7500] users i will recommend this rom by blackburner but you can use any rom.
Just Place the original rom zip in the original_update folder inside the kitchen.
run the cygwin.exe again type:
Code:
cd kitchen(enter)
./menu(enter)
now enter option 1, enter again. You should see your rom listed, choose and enter
you will be asked about changing the working folders name, at this point it makes no difference so just continue.
congratulations you have a working folder!!!
SECOND METHOD - this method is by neroyoung
FIRST MAKE A WORKING FOLDER IN CYGWIN FOLDER
IT SHOULD LOOK LIKE THIS
cygwin folder/home/your user name/kitchen/WORKING_(your rom name)
Click to expand...
Click to collapse
NOTE: FOR THIS MEETHOD WE NEED 3 FILES AND FOLDERS TO BE PLACED IN WORKING FOLDER.
1. META-INF FOLDER - GET THIS FROM DOWNLOAD FILES LIST IN FIRST POST
2. SYSTEM FOLDER - TUTORIAL BELOW
3. BOOT.IMG - TUTORIAL BELOW
2. getting system folder
(NOTE - YOU MUST BE ROOTED FOR THIS MEDHOD)
This is universal method and can be done easily using terminal emulator.
For this simply download Terminal Emulator from Android Market.
we need freshly flashed device here. OTHERWISE YOU WILL HAVE LOT OF JUNK FILES.
Open it and type:
su
tar -c system/* >> sdcard/system.tar
Click to expand...
Click to collapse
This will copy all your /system folder to your SDcard with name System.tar
This will take some time to finish so be patient.
After it's done you should have a tar file in your /sdcard named system.tar
You can extract it using Winrar or 7zip software. But yes this will have huge size , as it has other useless folders so you will have to delete them. After extracting this system.tar file you will get following folders (Similar one)
/etc
/fonts
/framework
/lib
/lost-found
/media
/sd
/semc
/usr
/xbin
build.prop
And some other files and folders like ""autorooted,kernel files" etc
Click to expand...
Click to collapse
Now simply delete the folders marked in red color and its done.Don't worry if you don't have folders with red colors above,we don't need them.
And the final files that we will have in our system folders will be
/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop
Click to expand...
Click to collapse
If it dont have semc folder no need to worry.
NOTE: YOU CAN ALSO GET THIS SYSTEM FOLDER BY USING ANY ROOT BROWSER. JUST FIND THIS FOLDER AND COPY/EXTRACT TO SDCARD
NOW COPY THIS system FOLDER TO WORKING FOLDER
3. getting boot.img
Here we have 2 options
1. stock boot.img from stock rom - simple kernel which we get in brand new mobile.
2. custom boot.img from custom kernel - kernel which are modified for overclock or other features
1. getting stock boot.img from stock rom.
extract your stock rom with winrar or 7zip. you will see boot.img there. copy it to working folder
2. getting custom boot.img from custom kernel.
download any custom kernel which is only for your device. [galaxy ace plus [s7500] users get from here or here]
extract it with winrar or 7zip and copy boot.img to working folder
NOTE: many of new devices have kernel.bin and other files instead of boot.img so skip this part if your device don't have it...
Click to expand...
Click to collapse
Step Three :change/modify/update rom
YOU CAN MODIFY YOUR ROM IN TWO STEPS:
MODIFY USING ANDROID KITCHEN - for basic modification.
MODIFY MANUALLY. - for advanced modification.
1. MODIFYING USING ANDROID KITCHEN
watch this amazing tutorial by neroyoung on how to editing rom with kitchen
NOTE: DON'T FORGET TO DEODEX YOUR ROM
Click to expand...
Click to collapse
2. MODIFYING MANUALLY.
FOR ALL ANDROID PHONES (ESPECIALLY FOR GINGERBREAD ROMS) USE THIS GUIDE FOR COOL MODS. like center clock,CRT animation, ics and jelly bean style mods etc... ANOTHER GUIDE BY ME
Adding/removing applications
1. Go to the working folder where you extracted your rom, inside you will find:
OR
2. Then go to "system/app" inside this folder you will find all the rom applications(apks) you may also find some in the data folder if your rom has this folder.
3. Copy, replace, and change any app(apk) be carefull if you dont know what the apk is do not delete!!
LIST OF APPS YOU CAN DELETE - HERE OR HERE
If you can not find some apps in this guide then try opening all those app in your phone and see app name and icon or move those apps from system/app to sdcard and see what is not working...
Adding new boot animation
android kitchen doesn't works for this in Samsung phones. So we need a different method.
1) Download and extract the bootanimation and samsungani file from Custom Booting.zip attached in first post.
2) Put them in the /system/bin folder and replace the existing files there
3) Now download any boot animation, and rename the bootanimation to “sanim.zip”.
4) Now, navigate to /system/media and replace the “ODEanim” with “sanim.zip”
You are done with the bootanimation change
customizing the theme
1. replace stock launcher with launchers like nova launcher
2. theming using uot kitchen (fonts, status bar, batery and other icons etc
watch this amazing toutorial by jdlogan151
Click to expand...
Click to collapse
Edit the gps script for your country/location
1. In the workingfolder/system/etc/ you will find a file named gps.conf, you can
edit this file with notepad++ or even word.
2. using the right gps script in this file can speed up gps lock, you can
find some from angeldeath, download extract and replace the gps.conf.
Adding ringtones :
Take your ringtone file...it should be in .ogg format..If not then convert it to .ogg..
Locate to the folder system>media>audio>ringtones>
Copy and paste your .ogg files here in ringtones folder..
You can also change notifications, alarm and UI tones like this..
Changing the Fonts :
Take your desired font.ttf file and rename it as DroidSans.ttf..
Locate to the folder system>fonts>
Now, replace the file DroidSans.ttf with your desired DoridSans.ttf...
To change the lock screen clock font...replace the Clocktopia.ttf with your desired one..(rename first)..
build.prop tweaks!!
check this or this or this post for build.prop
NOTE: EDIT BUILD.PROP WITH NOTEPAD++. SIMPLE NOTEPAD WILL CORRUPT THE FILE.
adding mods and scripts...
download mods and scripts from links below and copy past all files in same folder as your rom... like for init.d scripts add them to system/etc/init.d/here and all permissions in updater script to your updater script...(dont forget to give them credit for it...)
links:-
[TweakZV6] Init.d best tweaks[Flashable] Increase your performance by [email protected]
Collection build.prop; init.d; etc. by optik19918
init.d Tweaks collection by dsexton702
[SCRIPTS][TWEAKS][CWM]SlaidyBoost-V2.3 by slaid480
[CWM][SCRIPTS][TWEAKS] Adrenaline™ Engine by ImbaWind
V6 SuperCharger by zeppelinrox
[SCRIPTS]CronMod-A2SD/D2EXT/INT2EXT by croniccorey
Xloud and Bravia engine by aiman112
AwesomeBEATS™ v.3 by ...Awesome...
(MOD)Beats Audio(2.3+up) by RockoDev
Tuned MegaBassBeat by kurotsugi
Maximum MultiTasking Mods + V6 SuperCharger BY zeppelinrox
[AROMA] Beats Mode - Enhanced Beats sound V7.5 by MemAllocatoR
Interactive Phone Modification [GUIDE]
ICS Style 'Settings.apk' - Make it yourself by balamu96m
StatusBar Tweaks by Master&Slave™
Change lockrings on any rom by daveyannihilation
change ICS lockscreen animation to Honeycomb style by evilisto
S Voice for any devices [ICS] by PlaYOuT
Implement Swipe to Remove Notification by hansip87
Remove SMS log from Call log by wilfredcool007
Activate the rotation of the lockscreen by GalaxyUser
How to use AROMA INSTALLER in any ROM/MOD by pankaj88
All in one tweaks build.prop,init.d,Wifi,Xloud,Bravia,A-Gps,A/V Sync,Modules by XtremePeople
Add 6 lockscreens Mod + Lockscreen Gestures by pratyush.creed
How to add customizable 14 statusbar toggle buttons for samsung ROM by lidroid
Create a custom notification dropdown by jeffsanace
these are few i love, find more yourself...
MORE WILL BE ADDED SOON...
MORE ADVANCE MODIFICATION (not advised for beginners)
editing .apk files
THERE ARE TWO BEST TOOLS FOR EDITING .APK FILES
1. APKTOOLS
This video by neroyoung teaches you how to setup APKTOOL folder as well as teaches you how to edit .apk files.
2. APK Manager
this video by adgoosuc teaches you How to unpack,repack and sign an APK File with APK Manager
Click to expand...
Click to collapse
[*]Editing .JAR Files
In this video by neroyoung you will get information on how to edit .jar files like services.jar using APKTOOL.
Click to expand...
Click to collapse
[*]THEMEING .apk FILE
HERE IS A AWESOME TUTORIAL BY Andrewtst FOR THEMEING ANY .apk FILE.
for porting themes:
1. download and extract theme you want to port.
2. open both apk(base and port) in 7zip/winrar
3. drag and replace png files with same name
this works with only png files not with xml and others
FOR THEMING YOUR ROM YOU CAN EDIT framework-res.apk AND GET MANY COOL THINGS
LIKE you can change smiles, default wallpaper, default lockscreen wallpaper, add 14 toggle mod and many cool things...
for that use Framework Flasher or apktools or any other tool and do changes manually.
CHECK THIS GUIDE BY dully79 TO KNOW WHICH FILES YOU CAN MODIFY AND HOW.
HERE ARE FEW MORE COOL GUIDES -
ICS Style 'Settings.apk' BY balamu96m
Implement Swipe to Remove Notification BY hansip87
add customizable 14 statusbar toggle buttons for samsung ROM BY lidroid
FOR MORE SEARCH MORE...
Click to expand...
Click to collapse
CHANGING HARD KEY FUNCTION (REMAPPING BUTTON)
1. open /system/usr/keylayout/[phone model]-keypad.kl with notepad++
(Some phone may have different names, but it will always end with "keypad.kl)
it will look like this --
Code:
# Copyright (c) 2011, Code Aurora Forum.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# [url]http://www.apache.org/licenses/LICENSE-2.0[/url]
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
key 2 1
key 3 2
key 4 3
key 5 4
key 6 5
key 7 6
key 8 7
key 9 8
key 10 9
key 11 0
key 158 BACK WAKE_DROPPED
key 230 HOME WAKE
key 60 SOFT_RIGHT WAKE
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 59 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
key 61 CALL WAKE_DROPPED
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
key 102 ENDCALL WAKE_DROPPED
key 105 DPAD_LEFT WAKE_DROPPED
key 106 DPAD_RIGHT WAKE_DROPPED
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
key 212 SLASH
key 213 DEL WAKE_DROPPED
key 355 DEL WAKE_DROPPED
key 16 Q
key 17 W
key 18 E
key 19 R
key 20 T
key 21 Y
key 22 U
key 23 I
key 24 O
key 25 P
key 30 A
key 31 S
key 32 D
key 33 F
key 34 G
key 35 H
key 36 J
key 37 K
key 38 L
key 14 DEL
key 44 Z
key 45 X
key 46 C
key 47 V
key 48 B
key 49 N
key 50 M
key 51 COMMA
key 52 PERIOD
key 28 ENTER
key 56 ALT_LEFT
key 42 SHIFT_LEFT
key 215 AT
key 57 SPACE
key 53 SLASH
key 127 SYM
key 100 ALT_RIGHT
key 399 GRAVE
HERE YOU WILL FIND 3 ROWS...
1. As you can see, there are different attributes assigned to each key. like this
Code:
key 102 HOME
key 139 MENU
key 158 BACK
key 115 VOLUME_UP
key 114 VOLUME_DOWN
2. Specific application/action launchers:
Code:
HOME #Launches "Home"
MENU #Launches "Menu"
BACK #Takes you back to the last activity
SEARCH #Launches "Universal Search"
CALL #Launches the "Phone" activity and corresponding .apk or initiates a call
ENDCALL #Ends a call
CAMERA #Launches "Camera" activity and corresponding .apk
FOCUS #Initiates Auto-Focus while using the Camera
VOLUME_UP #Self explanatory
VOLUME_DOWN #Self explanatory
3. And attributes saying if it should wake the phone at button push to complete the action, or if it should just complete the action without waking the screen.
Code:
WAKE #Completes the action without waking the screen
WAKE_DROPPED #Wakes the phone to complete the action
Click to expand...
Click to collapse
2. NOW WE WILL EDIT SECOND AND/OR THIRD ROW
Erase the center row value for any key to completely disable it. To reassign the key, replace the center row value with another one from the same row. Change the right row value to either "WAKE" or blank to enable the wake function. Do not modify the left row.
NOTE: don't edit left row i.e. first row which contains specific key identity number.
FOR EXAMPLE I DO THESE CHANGES
DEFAULT VALUES ---
Code:
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
CHANGED VALUES ---
Code:
key 115 CAMERA WAKE
key 114 FOCUS WAKE
NOW VOLUME UP KEY WILL WORK AS CAMERA KEY AND VOLUME DOWN KEY WILL WORK AS FOCUS KEY....
NOTE: all words should be in BOLD letters i.e. capital letters...
Click to expand...
Click to collapse
MORE COMING SOON
FOR ADVANCE ROM DEVELOPMENT GUIDES (like porting rom) SEE THIS COLLECTION BY F3niX
Step Four: repackage the rom
AFTER YOU HAVE DONE ALL CHANGE/MODIFICATION YOU WANTED OPEN CYGWIN AGAIN AND TYPE
cd kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
now convert update script to updater script(in option 23)
now lets edit updater script(optional)
Thanks to user langthang for a great updater-script guide.
Download it HERE
Click to expand...
Click to collapse
the updater-script basically tells CWM what steps to take during the installation(flashing rom).
If you don't have any experience please don't edit anything other than what is in this simple tutorial.
TO EDIT UPDATER SCRIPT -
1.Go to META-INF/com/google/android
2.Open the updater-scrip file with Notepad++
3.Any text that would appear during the CWM install should be in this format :
Code:
ui_print("Put your text in HERE");
Add your text start at top and save,
then replace with new updater-scrip
IF YOU GET ANY ERROR YOU CAN COMPARE YOUR UPDATER SCRIPT WITH MINE (attached in 1st post)
NOTE: DO NOT COPY WHOLE UPDATER SCRIPT JUST EDIT PART WHERE YOU GET ANY ERROR...
most common errors will be in mount, remount part in starting and end and boot.img installing part... so replace only those lines....
AND AT LAST
[*]Now that you have made some changes it's time to pack the rom and test!!
Run the cygwin and type
cd kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
enter option 99 - "biuld rom from working folder"
Choose your build option and few more enters
I recommend that you go with all default options until you get more experience with the kitchen.
When rom is packed and signed it will ask to change rom zip name (type name of your rom)
When its all done you will find a folder inside "cygwin/home/yousername/kitchen" called output_zip
Inside the folder is your new rom ready to be flashed and tested!!!
IF YOU WANT THAN YOU CAN MAKE CWM FLASH ABLE ZIP'S MANUALLY USE THIS TOOL BY I.AM.H3RO
congratulations you have build your own rom
TROUBLESHOOTING (by hell_lock)
If you are facing java related problem with cygwin than refer to this post. and Google search
If you get problems in installing a rom then compare your updater-script in META-INF folder with one attached in first post.
If you have a rom without kernel then remove these lines:
Code:
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"),
delete("/tmp/boot.img"));
NOTE: mmcblk0p8 can be different with different devices... this works fine with galaxy ace plus...
If there is a package error then extract the files of the rom and repack them using any compression software.
If rom installed correctly but stuck onto logo screen?? Then remove try removing kernel and flashing rom again.
If rom installed correctly but got onto bootloop then there could be many possibilities which could lead to this. If you want accurate cause of it then do a logcat.
If there are some apk's which are not working then check if you correctly modded them.
For status errors like status error 0, status error 6, status error 7 see this guide by Tha TechnoCrat and for rest go here and type your error.
NOTE: Most of the problems occur because of updater-script problems so before trying any of the troubleshooting try the first tip.
IF YOU HAVE ANY QUESTIONS OR PROBLEMS FEEL FREE TO POST HERE OR PERSONAL MESSAGE ME.
omg all my thanks goes for you today
●๋•ηι¢є ιηƒσ●๋•
how about using dsixda, toolchain etc in linux? would u please add some tutor for that...even i guess it has the same way... i mean in ubuntu what version of dsixda that work well and what lib is needed for that? cos i have made my own kernel on my last device galaxr fit(gt-s5670) that use armv6 procie..maybe it need diferent type n bersion of tools?
thanks in advance
Sent from my GT-S7500 using xda app-developers app
Sorry i dont use lunix so i know nothing about it..... there are more threads related to this... they can help you....
Sent from my GT-S7500 using xda premium
Can i use this for micromax funbook tablet?
Yes it will work on any device... good luck
Sent from my GT-S7500 using xda premium
Had a quick read through, seems fairly easy to get started, so thanks for that!
What I want to achieve is to be able to take an existing ROM, and customise it for my organisation. I want to be able to remove the initial set up that you get when you flash a new ROM, e.g. name, Google account etc. Do you know how I would achieve this, or the files I would need to edit?
I also want to remove some APKs and preload some APKs, I think I know how to do this its just a case of replacing them in the system folder?
Also I want to preload some Wifi settings on so set it to know our SSID and PSK, is this something which is possible?
Thanks for your help!
fro5tie said:
Had a quick read through, seems fairly easy to get started, so thanks for that!
What I want to achieve is to be able to take an existing ROM, and customise it for my organisation. I want to be able to remove the initial set up that you get when you flash a new ROM, e.g. name, Google account etc. Do you know how I would achieve this, or the files I would need to edit?
I also want to remove some APKs and preload some APKs, I think I know how to do this its just a case of replacing them in the system folder?
Also I want to preload some Wifi settings on so set it to know our SSID and PSK, is this something which is possible?
Thanks for your help!
Click to expand...
Click to collapse
1st for rom you will use as base, get permission of its developers before doing it...
2nd the setup wizard you are talking about(i guess where we have to touch android) is by app in system/app named SetupWizard.apk but i think you should not delete it. it also controls few other things.
3rd replace/delete app you know about...(system/app)
4th i don't know much about preloaded settings... all i know is you will need to edit smali files of apk....
Hi
I've been playing around with this, I've extracted the ROM to a working folder and made a few changes, e.g adding and removing APKs. Then I've repackaged the ROM, but when I copy the .zip onto my SD card and try flashing it, I get an error:
Install /sdcard
Finding update package
Opening update package
Verifying Update package
E:signature verification failed
Installation aborted
I can't install CWM on this device so its just using the Android System Recovery 3e
Is there something else I have to do to get it flashable?
hiii
okay.. so first get cwm recovery as you say you dont have cwm... then while making a zip with android kitchen make sure when it ziplangs all apks then it signs your rom zip... make sure you press enter or press y and then enter...
while flashing rom with cwm you get this error again then in 'ïnstall zip from sdcard' select 'toggle signature verification' then try again if still no luck rply back....
and it seams like you used this guide and you found it helpful i guess and you dint even pressed a thanks button... i don't know why you guys enjoy all stuff and don't even press thanks button.. i am not asking you for money... it wont cost you anything...
fro5tie said:
Hi
I've been playing around with this, I've extracted the ROM to a working folder and made a few changes, e.g adding and removing APKs. Then I've repackaged the ROM, but when I copy the .zip onto my SD card and try flashing it, I get an error:
Install /sdcard
Finding update package
Opening update package
Verifying Update package
E:signature verification failed
Installation aborted
I can't install CWM on this device so its just using the Android System Recovery 3e
Is there something else I have to do to get it flashable?
Click to expand...
Click to collapse
Hi
Thanks for this, I've got it sorted now.
I can't install CWM as its not compatible with my device, but it was just that the zip needed signing for my device. I found info on another forum to sign it properly, and its flashing fine now.
Thanks for your help.
fro5tie said:
Hi
Thanks for this, I've got it sorted now.
I can't install CWM as its not compatible with my device, but it was just that the zip needed signing for my device. I found info on another forum to sign it properly, and its flashing fine now.
Thanks for your help.
Click to expand...
Click to collapse
Wich device you have?
use this to make your own cwm recovery.... http://builder.clockworkmod.com/
fro5tie said:
Hi
Thanks for this, I've got it sorted now.
I can't install CWM as its not compatible with my device, but it was just that the zip needed signing for my device. I found info on another forum to sign it properly, and its flashing fine now.
Thanks for your help.
Click to expand...
Click to collapse
androsamace said:
Wich device you have?
Click to expand...
Click to collapse
Its an Ainol Novo 7 Elf 2 (chinese tablet)
lokeshsaini94 said:
use this to make your own cwm recovery.... http://builder.clockworkmod.com/
Click to expand...
Click to collapse
I'll take a look.
HTC One X
- no ROM support, but de-odexing only! (Here is the guide to de-odex)
So i wanted to start building a ROM the easy way, guess I have to find the manual method..
i dont know what are you talking about... here is link for htc one x roms
http://onexroot.com/category/one-x-roms/
xSilv85 said:
HTC One X
- no ROM support, but de-odexing only! (Here is the guide to de-odex)
So i wanted to start building a ROM the easy way, guess I have to find the manual method..
Click to expand...
Click to collapse
Oh i mean the kitchen.. not suited for htc one x is stated in the op.
Sent from my HTC One X using Tapatalk 2

How to Port Samsung Rom to other Samsung devices (Small Update as of 10/13/2018)

{
"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"
}
(Success Stories)
jonathanmohamed said:
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
Click to expand...
Click to collapse
corsicanu said:
@malbert16442 this is pure GOLD. Gave you all my thanks for today. I'll try it myself today. Also waiting patiently for updates [emoji28] . Cheers!
Click to expand...
Click to collapse
armaowl said:
is the reason i was allowed me to port my own Rom!
Click to expand...
Click to collapse
1. Kernel is second most important because it determines if rom boots or whether
we could access a log.
2. Since we are trying to boot a rom not meant to be on our device, it could be alittle hard getting this thing to run.
3 Contact a kernel dev and ask them for adb insecure kernel or a kernel with usb debugging enabled at boot. This will help us obtain those logs at boot.
4. In some rare cases Logs might show that specific kernel services are not accessible.
In this case we only change the init.environ.rc. Which has the frameworks needed to boot.
5. If you can't get kernel logging at boot use this in recovery after 2 mins of booting.
Code:
adb pull /data/tombstones
6.Update
DaKillaz98 said:
Hello All! I am posting this fix because on my Note Edge, I wasn't able to get logcat or adb access at boot, no matter what property I set, it didn't work. I finally figured out a way to get true logcat right as the boot animation comes up.
First off, you NEED Notepad++ if you don't want garbage clumped up editing.
1. In Android Image Kitchen, depack the Boot image.
2. Then, go to split image and modify boot.img-cmdline and add
Code:
buildvariant=userdebug
.
3. Save that file, then go to the ramdisk folder and edit your default.prop. change these values.
Code:
ro.secure=1 > ro.secure=0
ro.adb.secure=1 > ro.adb.secure=0
ro.debuggable=0 > ro.debuggable=1
4. Save that file, then go to init.rc, and use find to search for adbd to jump to this.
Code:
# adbd is controlled via property triggers in init.<platform>.usb.rc
5. Change the original code from
Code:
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
class core
socket adbd stream 660 system system
disabled
seclabel u:r:adbd:s0
TO:
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
6. Change this to new code.
Code:
# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd
TO:
# allows adbd at boot with property trigger below
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/enable 1
start adbd
7. Rebuild the kernel and install in TWRP or however you install kernels, ADB will be accessible right at boot so nothing is lost during logging. If your kernel doesn't need this, don't bother, but if like me, you couldn't get anything, this will fix your issues.
In some cases, you will still need to push adb_keys to /data/misc/adb/, however.
@malbert16442 Please consider putting this in OP for those who have issues getting logcat at boot.
Click to expand...
Click to collapse
Part 2
Adb is key in any port. Adb is the secret. It gives us the ability to access logs be able to debug issues in our ROM.
1. Download adb drivers
http://forum.xda-developers.com/showthread.php?p=48915118#post48915118
Thanks Member @Snoop05
2. Test adb by using 'adb devices" in cmd
You should see online
3. If offline try using adb kill-server and repeat step 2.
4. When making a loging for these ports we use the phrase adb logcat *:E > filename
this ensures that we filter the logs by errors and remove the long set of lines like thermal updates ...etc
Part 3
In order to port firmware
1. Download Stock firmware extract it with tool
Websites to get stock firmware are
http://updato.com/firmware-archive-select-model
or https://forum.xda-developers.com/galaxy-tab-s/general/tool-samfirm-samsung-firmware-t2988647
2.We will deodex our rom using Fulmics or similar deodexer
Either a kitchen like "http://forum.xda-developers.com/chef-central/android/kitchen-superrs-kitchen-t3202296/page26" or similar.
Thanks @SuperR
https://forum.xda-developers.com/android/software-hacking/tooll-03-12-fulmics-deodexer-1-0-t3512081
Thanks @xpirt
3. Learn how to use APK DECOMPILE TOOLS SUCH AS TICKLEMEANDRIOD
http://forum.xda-developers.com/showthread.php?t=1633333
Thanks @Ticklefish
4. Remove Apps Priv-app and Framework of base. In a new folder use Fulmics to deodex this. Store somewhere safe.
5. Deodex Port and copy the Apps, Framework and Priv-app into the Base of stock rom.
6. In Ticklemeandriod you notice we have 6 work Areas. For our Roms we will only need two. The most common files we will use are services.jar, and framework.jar.
7. Take the services and framework our our Port and decompile in work area 1.
8. Take the services and framework of our Base and decompile in work area 2.
9. We will Perform a quick Step to help if App signatures become corrupt or cannot be read.
Follow this guide by @ikrom
http://forum.xda-developers.com/showpost.php?p=62496153&postcount=2957
10. After this lets move to debugging our apps and frameworks.
Part 4 (Tools and debugging)
My favorite tools to use include WinMerge and FileSeek
1. Winmerge enables us to compare two files. For example a stock jar and one of our port.
2. File seek allows us to search for a specific references.
I use file seek to search for weird terminology I see on my log.
3. Terminology
Part 5 ( Terminology)
1. In a logcat we are looking for three things when debugging. "E JavaBinder:", "E art", "E AndroidRuntime: FATAL EXCEPTION:"
2. The order to debug we search in logcat. When beginning it is not specific but, I usually search for Art errors first.
3. So for example if I get in my logcat
Code:
"01-01 01:26:25.169 5599 7183 E JavaBinder: java.lang.NoSuchMethodError: No virtual method activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V in class Lcom/android/internal/app/ActivityTrigger; or its super classes (declaration of 'com.android.internal.app.ActivityTrigger' appears in /system/framework/framework.jar:classes2.dex)"
I got the location which is framework jar Class2
Code:
activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V is the missing info in the port smalis and
log says it is somewhere in
Code:
Lcom/android/internal/app/ActivityTrigger; or the files with idential names to Activity trigger
4. In this case missing method could be found in stock smali. This is where we use win merge to cleanly copy new method from stock to port.
5. But Mike what if The logcat doesnt tell me location. We will then use fileseek in this instance.
Example: Log tells me
Code:
"01-01 00:24:17.509 7524 7539 E JavaBinder: java.lang.UnsatisfiedLinkError: No implementation found for void com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String) (tried Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity and Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity__Ljava_lang_String_2)
"
No implementation means that we must remove this file as it is not found in the libs. What location? We dont know yet ?
Code:
com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String
is what we are looking for
According to fileseek I would look for pauseActivity because it is a keyword
According to file seek I may get 100 references but I see one that says
Code:
.method ActivityTrigger.native_at_pauseActivity
I would then use winmerge to cleanly delete/copy the file from my stock smali to the new one. From the location I found in Fileseek.
6. Let me give a example of a Runtime error.
Code:
"07-25 09:17:08.975 16379 16379 E AndroidRuntime: java.lang.NoSuchMethodError: No interface method setDataFromNSFLP(ILandroid/os/Bundle;)V in class Landroid/location/ILocationManager; or its super classes (declaration of 'android.location.ILocationManager' appears in /system/framework/framework.jar)
So log told us to look in framework for a file with
Code:
setDataFromNSFLP(ILandroid/os/Bundle;)V
Boot up file seek and repeat steps above.
Part 6
So we booted now what.
Lets now work on fixing local errors.
Use logcat to possible fcs and reboots.
All firmware edits are different so this guide will help if you are learning the way android works.
What to look out for
Remember the Base folder we deodexed. We will use this to help fix issues in our rom.
1. Take the McRegistry Folder and ffffffff0000000 File move this to our booted rom.
2. Now in the Ported firmware copy the Fonts folder and the files named font in /etc to our booted rom.
3. Delete these folders - " preloadedmdm ", " sipdb " and " tts from booted rom and replace with that from ported firmware.
4. Open " Media " folder in booted rom
Delete Audio folder
Replace with Ported firmware audio folder.
5. In /etc/permission add the missing software permissions not hardware like slocation or camera-flash.
6. In build-prop
Replace these values with that of port.
Code:
ro.build.scafe.size=
ro.build.scafe.shot=
ro.build.scafe.cream=
ro.build.scafe.version=
ro.com.google.gmsversion=
ro.build.version.sdl=
ro.config.ringtone=
ro.config.notification_sound=
ro.config.alarm_alert=
ro.config.media_sound=
ro.config.ringtone_2=
ro.config.notification_sound_2=
7. Add this code to build-prop
Code:
wlan.wfd.hdcp=disable
Let's Fix Messages and Phone FCS on first boot
1. From ported from take the libselinux.so to fix message fcs
2. To fix Phone fcs take the mapconprovider.xml from port
64 bit firmware to 32bit
1. Replace 64 bit libs with 32 bit alternatives.
2. You could find 32 bit libs in 32 bit firmware.
32bit all that could be found will be attached here for all users
Fix location problems in Rom
With our services.jar decompiled take these smalis from base and use Winmerge to copy to Port jar.
Code:
services.jar\smali\com\android\server\location folder to that of port
also take the
Code:
services.jar\smali\com\android\server\LocationManagerService$xxx
Smalis and move from base to port location.
1. Take NFC.apk and Bluetooth.apk from base and move to new Rom folder.
OR A more complex NFC fix would be to look in PackageManagerService.smali
of services.jar
look for the NFC model of the device you are porting from
1. So use FileSeeker
to search for method with "supportNfc"
2. Replace it with your model number.
Example the NFC number of Note 7 is S3FWRN5
I would replace it with the NFC number of S5 which is NXP_PN547C2
Blur
https://forum.xda-developers.com/showpost.php?p=69547250&postcount=10031
AOD FRAMEWORK FIX
Credits :
@Patrick.H (NX Team)
@karkasss (NX Team)
@Develoid ALT and F4 (AOD touch / Bluelight filter fix)
@asc1977, @DaOldMan (AOD brightness control)
(Please copy & paste when you add our credits)
Download this file extract to services.jar
https://mega.nz/#!KgMxwQDR!g0yy7a6Izk8U8szRsggaZAXLaF4pjSMYAc8p6kOjIs4
Compare the PowerManagerService Smails.
then recompile
OR
thanks @oluwaponmile
follow this guide
https://forum.xda-developers.com/showpost.php?p=69594939&postcount=8139
Lets fix ported Cameras
Code:
[SIZE="3"]GUIDE IS IN PROGRESS[/SIZE]
Debug solution not fix:
This will be a hard thing to accomplish. Also make sure that Camera is recompiled using New signatures.
First lets find the native resolutions of your camera. For this we look in native camera apk.
Find the native resolutions in arrays or strings xml.
Save resolutions found in port apk for later reference. These are the values we are going to replace with stock hexadecimal values.
Use a Decimal to Hexadecimal Converter to find the values for the resolutions in smali.
For example 1080 would be 438 and 1920 would be 780.
For this value we will intrepid the hexadecimal value as 0x438 and 0x780 respectively in andriod.
When we are looking for the resolutions in port apk we grep the values based on the hexadecimal.
So in an example if resolution of port camera is 1920x1080 and stock is 1080x1920, then in smali we might get a value of 0x438, 0x780 in assortment. Simply replace 0x438 with 0x780 and 0x780 with 0x438.
Replace these values in port apk with the stock equivalent. Recompile.
Keep this open in one window.
Now open up camera and take log.
Most likely you would get a error saying missing resolution
KNOX STATUS REVERT (Kernel)
@topjohnwu for reset prop
The reset prop source was removed from topjohnwu thread however you could use the prebuilt binary in his magisk release zips.
1. Pick your device arch and remove binary from zip
2. Now download a tool to extract boot images.
3. Navigate to sbin and drop your resetprop binary.
4. Get back to root directory and add this file http://www106.zippyshare.com/v/AzldZO7A/file.html
5. Now in init.rc add this code
Code:
# Call Knox Reset
service knox-daemon /system/bin/sh /init.knox.sh
class main
user root
oneshot
Device Specific Section
(Section will detail device specific edits for particular devices once users post.)
mitko7411 said:
So I haven't really made a new list of smalis for porting roms, but here's the ones just to boot ANY 6.0.1 firmware on J5 2015.
Debug
GpsLocationProvider
KnoxVpnPacProcessor
TADriver
SchedPolicyManager
Click to expand...
Click to collapse
No Pm type message below.
Also I will post below all the logs I used to boot Note 7 firmware on my s5
All the edits used to boot Note 7 firmware on S5 it is different for every device.
https://mega.nz/#!8ZtzWCJR!rqTrvD5K3pUvHOAMq_540L_z7Hx0LFZawSzpobFDF98
Thanks for this guide..
A nice guide. Thanks! :highfive:
Ticklefish said:
A nice guide. Thanks! :highfive:
Click to expand...
Click to collapse
Thanks
Sent from my SM-A810S using Tapatalk
Great Extremely helpful, time for noobs to port now
Thanks mate you finally did it big help
Thanks manYou helped me.
Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,
thereassaad said:
Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,
Click to expand...
Click to collapse
Thanks assaad will fix when I get time I get what you are saying but this is a intro. I can't explicitly state which jars apks or libs are needed because they are all different for different devices. XML and permissions I could elaborate on but you can't expect me to possibly give a overview of everything right. Hope you understand thanks. I never explicitly stated this was a full guide and you shouldn't treat it as such.
Sent from my SM-A810S using Tapatalk
Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend
thereassaad said:
Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend
Click to expand...
Click to collapse
Ohh I understand what you are saying. I will expand on this guide when I get time hopefully you also could help support and add to this guide as XDA is a community. ? Over time we could help many users thanks for your advice.
Sent from my SM-A810S using Tapatalk
@malbert16442 Can you help me with my S5 which is G9008V China Mobile variant?
I can't boot on Thunderbolt A8 rom...
What should I Fix?
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!
jonathanmohamed said:
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!
Click to expand...
Click to collapse
Thanks happy for you. How would you rate your level of expertise so I could set a difficulty level for this
Sent from my Pixel XL using Tapatalk
Learned new debug problems in Sammy Roms updating guide soon, making it more appealing too. Happy that one person actually made a port from this guide.
thnx alot @malbert16442 .... but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed
Allooosh98 said:
thnx alot @malbert16442 ...using this guide i ported S7e, G532F to j7.....but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed
Click to expand...
Click to collapse
When you add wifi serivce jar you have edits to make in framework you will see in your log
But don't work I have a fix for stock files too. I work on this guide this weekend make it look better
Okay so alot of people are pming me about fixing camera will post solution or debug solutions here soon
hey @malbert16442 bro can u help me to fix the problem?? there is a E art error in logcat that i cant fix it :
E art : No implementation found for int android.os.storage.sensitive.SecureStorageLSM.lsmInitialize() (tried Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize and Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize__)
i checked smali files but its as same as stock,i attached the log,if its ok look at it and tell me what should i do

Categories

Resources