Titium Backup/AppExtractor won't find my TWRP backup - Galaxy S 5 Q&A, Help & Troubleshooting

I recently rooted and installed a custom rom (xXx No Limits following guide in their thread) on my Galaxy S5 (Europe, G900F).
Everything went well other than a little confusion during these steps:
9. Boot the phone into custom recovery (TWRP 3.0.0.0)
10. Hit ?Wipe? and then ?Advanced Wipe?
11. Go to Install Section, select Rom zip, flash the rom and reboot.
12. Wipe Dalvik / Art Cache, System, Data and Cache.
Click to expand...
Click to collapse
What i did was first i wiped everything except my SD using advance wipe, then installed the rom, and then wiped Dalvic and Cache.
Since everything worked fine i didn't think more of it but after running into a new problem i think i may have done something wrong here, or else the problem is something entirely different.
After setting up the phone with the newly installed custom ROM i was happy while installing all the apps i use daily - And then it struck me i forgot to make a separate vCard backup for my contacts, and i previously didn't use any cloud service or have the linked to my google account.
I figured i could restore my TWRP backup i made following the guide, then make a vCard backup of my contacts and save it to my pc - then reinstall the custom ROM and use the vCard backup. But i insisted there had to be a way to extract my contacts some other way and back them up and i went googling for awhile.
Found a few solutions:
Find some files from the TWRP backup and change the file extension to zip/tar.gz and extract a file from there and convert to using a website - Sounds easy but for some reason my 7zip refuses to recognize the files as archives.
Another solution would be to extract the files from the backup directly from the phone using apps like Titanum Backup (Pro, wich i bought for this reason) or AppExtractor. But neither of those app will recognize my backup? I have read several threads about people having the same problems and tried following some of the answers which included going to Menu -> Preferences -> Backup settings: Backup folder location and scan for backups, but it wont find any. Reading some more i notice something is different with my folders. People in other threads got instructed to look for /storage/emulated/0/TWRP/BACKUPS and i also have that folder, but my backup isnt there. My backup lies in /storage/E409-3EDC/TWRP/BACKUPS
AppExtractor cant find my backup either but wont allow me to search for it.
Further more i read about another app called Nandriod Manager and installed it. This app WILL find the backup but has no way of extracting what i specifically need.
Am i right in assuming this is cause by some mistake i made in the steps mentioned first in this thread?
If anyone is interrested this is the xXx.options.prop settings i used for installation:
Code:
# xXx.options.prop
#
# RomBase by xda member xXx
#
# Configuration file to allow customize the installation
#
# I agree to use any part of my work to create more advanced custom ROM,
# but it would be great if you add me to the credits
#
prop.version=14
use.prop.in.zip=0
#-----------------------------------------------------------------------
# Enable root access and install the SuperSU app (thanks to @Chainfire)
# Please Note: Do NOT install Root if you want to stay with Knox 0x0!!
# Allowed values:
# 0 - do not enable root access
# 1 - enable root access with SuperSU by chainfire
# 2 - Experiental - SuperSU + suhide by @chainfire to get Safety Net & Pokemon Go working
root.supersu=1
# Deodex ROM during install (change this value only if you really need it!)
# Allowed values: 0 - Odex; 1 - Deodex;
deodexed.rom=1
# Kernel
# Allowed values: 0 - Stock Kernel; 1 - PhoeniX Kernel; 2 - CrazySuperKernel; 3 - Boeffla-Kernel
kernel=0
# sdcard Fix Permissions script
# fix ownership and permissions of files and directories on the sdcard to what they would be
# if Android OS had put them there itself, since some apps can't access pushed files that have root.root as owner/group
# Sometimes Apps FC when trying to access/write files on sdcard even with correct r/w permissions.
# This might fix this issues
# Please Note: Depending on how much files you have stored on your sdcard it can take
# up to several minutes to scan and fix it!!
# Don't become nervous when Rom flashing process will stuck here for a while,
# it will continue - Promised !!
# Allowed values:
# 0 - disabled
# 1 - enabled (default)
sdcard.fix=1
# Keyboard
# Please Note: Key vibration doesn't work on the S6 Keyboard!!
# Allowed values:
# 0 - Stock Keyboard
# 1 - S6 Keyboard - no key vibration, better choose newer C5 keyboard
# 2 - Sony Xperia Keyboard - very clean and plenty of optional settings
# 3 - C5 Keyboard - newest Samsung keyboard
keyboard.mod=3
# SystemUI mods
# Allowed values:
# 0 - Pure Stock SystemUI
# 1 - White theme, 3minit battery, rounded notifications and recents, Sdcard notifications fix
# 2 - Good Lock - no further mods or fixes. Fingerprint is not supported. Don't try it!
# 3 - White theme, rounded notifications and recents, Sdcard notifications fix
systemui.mod=2
# xXx Tweaks
# - A collection of system tweaks which optimizes overall speeds and RAM management
# - deodex the rom
# - 5-Way Reboot menu
# - Privat Mode fixed
# - Changed default Window Animation Scales to 0.5 for faster animations
# - Updated hosts file for Adblock
# - Qualcomm Adreno 330 Beta Drivers for better GPU Performance with Stability Fix by @DAS82 based the on @airidosas252 framework
# - Screen Overlay Fix
# - SystemUpdateService Disabler
# Allowed values:
# 0 - xXx Tweaks disabled
# 1 - xXx Tweaks enabled (default)
# 2 - xXx Tweaks + Qualcomm Adreno 330 Beta Drivers
xXx.tweaks=1
# Camera Mod
# Please Note: If you choose the modded Camera xXx Tweaks will be installed as well!
# Allowed values:
# 0 - stock camera (default)
# 1 - camera mod thanks to @amk1
camera.mod=1
# Screen Overlay Fix
# This will bypass the Android Screen Overlay Security and don't bother you anymore to disable previous activated
# Please Note: This will make you device vulnerable to Tapjacking!
# Allowed values:
# 0 - stock settings (default) (max Tapjacking security)
# 1 - modified Android Screen Overlay Security (for your convenience)
screen.overlay.fix=1
# Xposed Framework
# Allowed values:
# 0 - Xposed NOT installed
# 1 - Xposed + Original Rovo Xposed Installer (default)
# 2 - Xposed + Material Design Xposed Installer
xposed=2
# Sound Mods
# Allowed values:
# 0 - NO Sound Mod
# 1 - OLD - V4A Combo - Viper4Android + Sony Beats + eXtremeBeats Aural Maximizer by @guitardedhero and @Ben Feutrill
# 2 - OLD - V4A Combo + Dolby ATMOS
# 3 - NEW - Viper4Arise/eXtremeBeats Combo by @A.R.I.S.E. Sound Systems and @Ben Feutrill (default)
sound.mod=3
# Take care of security-related system files if there are any (SuperSU PIN, Avast Anti-Thelf in root mode).
# Allowed values: 1 - make a backup and then restore at the end of installation, 0 - skip backup
security.files=1
# Force overwrite your current recovery by stock recovery matched to the ROM version
# (by default it is overwritten only if KNOX 0x0 status has been detected).
# Allowed values: 1 - force overwrite current recovery, 0 - check KNOX status and overwrite if 0x0
stock.recovery=0
# CSC Selection. Allowed values:
# KCSC - Keep current CSC, recommended in most cases (automatic selection or copy your current CSC contents).
# You can force the use of natively supported CSC by typing (use UPPERCASE!):
# ALB, ALE, ARO, ATL, ATO, AUT, BGL, BMC, BTU, BVO, CHO, CMF, COO, CYO, DBT, DTM, EON, ETL, EUR, H3G, ILO, ITV, KSA, LUX, MEO,
# MET, MOB, MOT, MSR, MWD, NEE, NZC, OMD, OMN, ORX, PCI, PCW, PEO, PHE, PHN, PRO, ROM, SEB, SEE, SER, SIO, SWC, TDR, TEB,
# TEM, TEN, TMZ, TNZ, TOP, TPA, TPH, TSI, TSR, TTT, TUR, TWO, UPO, VD2, VDH, VDS, VIA, VIM, VNO, XEF, XEH, XEO, XME, XTC, ZTO
CSC=KCSC
Since it has built in sdcard fix that should not be the problem.
I hope i'm not confusing anyone more than i do myself because i must admit i cannot wrap my head around it. Might have something to do with this being the first time i mess around with rooting/custom rom on my phone.
Any help is greatly appreciated!

Related

[Bible] Galaxy S II Bible: Complete reference (updated 01/02/12)

An all in one collection for Galaxy S II where you can get all the information, tutorials, guides, mods, apps, tweaks, tips, tricks, DIY and many more.
Tutorials & Guides
How to build a perfect ROM
Know the Basics
Without knowing what you are getting yourself into will only make things worse even before you start off. To build a good Rom is different and to atleast build a fully functional Rom is different. So make sure you are fully aware of the technical fundamentals of building a Rom to enough extent so that you are able to fix the bugs and know what and where can things go wrong and how to solve them.
Performance, Memory, Stability and Battery
These are the four defining points which decide the pros and cons of the Rom that you develop. The Rom should be Fast, Have enough storage and program memory, should be stable and have a good battery backup. Trying to get a good balance of all these is very important. So make sure you keep all these things in mind while developing your Rom.
Be Patient and Polite
Building a good/perfect or bug free Rom wont come immediately. It’ll take many releases, experiments, testing and knowledge till you reach a nearly perfect Rom. So be patient as it sometimes takes weeks or sometimes months. Dealing with the public is not an easy job. You’ll find all sort of people of various characters. The can be nice as well as rude, but do remember that their critics are the only way you can improve. All they want from you is a good Rom, just keep this in mind and ignore the negatives.
Make it User Friendly
There are many ways in which you can make your Rom user friendly. Integrating useful apps. Prepping Eye candy themes, Important shortcuts etc.
Stay Motivated
This is the only driving force behind every Rom developer to continue doing their work with ease and success. Stay motivated and alert so that you can deliver the best with every release. Its hard sometimes but its it important.
Give Time to your Work
Most of the developers are either students or work some where and building Roms is some what like a hobby for us. Its correct that we are not supposed to spend all the time on building Roms but if we want to have a good working Rom we should manage considerable amount of time for few alternate days to work on this project.
Make it Different
You Rom characteristics should be some what different from what is already been provided by other developers. If its nothing different and Catchy then it’ll be hard to get users trying your Rom consistently. I still remember the days when i used to try alot of different Roms but still couldn’t find one that was nearly perfecting my needs. I tried alot of Roms that time.
Join Hands with another Developer
This is what i like the most. Join hands and team up with other developers and thus improve the efficiency and effectiveness of your Rom. The mind of two can bring together wonders. You can even team up with Developers of other devices and build a Rom for device that you personally do not own but you you widen your work area.
Don’t be ignorant
Make sure you are attentive and up to date with all what is discussed about your Rom, all bugs, all tests, reports, etc. so that you do not miss out on any bug possibly to be fixed for next release. If you ignore or avoid fixing the important bugs, the users will think that you are not really capable of solving them or not really interested in this Rom.
Get Testers
Testers are users who like to test the Rom and report you the bugs before you go public with the release. They are very helpful if you like to avoid the criticism after the release of the Rom as before itself you’ll be able to get rid of maximum number of Bugs and issues present in the Rom. That is where testers come in handy. Jus give a notice and many would love to try and test your Beta releases.
Keep Detailed Changelogs
Changelogs keep track of your developments over the time. They come in handy when ever you need to check for prolonged bugs. For example you may not notice it but if someone reports that he has been having an issue since your 3rd Rom release, then you can check out what all changes you made on that release and cross check whether one of those changes cause that bug.
Be Active on the Rom Page
This is the most important part of being interactive with the users cause there is alot that they want to be done in your Rom. Talk to them, answer their questions and discuss the pros and cons of the Roms with them. You can learn alot from them. Being active to the discussion will make them feel that you are eager to further develop and make this Rom improve further.
Add only Useful apps and Regularly Update them
Make sure the application you add to your Rom are useful by the people. Adding two Music Players in the Rom is not a good choice. Choose one that is best and use that only. But make sure you add one possibly best Application for all needs of the users. Keep track of all the applications that you have included in your Rom and make sure the latest versions are included. It keep the user feel updated with your Rom. Many times there are applications which are important to add but have some bug. Later these bugs are fixed in their next releases, so even you should add those updated fixed Applications. Use only Genuine Licenses and No Warez Applications. Warez is like a virus to the development of your Rom. Copyright issues and illegal use of cracked applications make pose a ban on you Roms by the Blogs and threads where you list them. Either you use development licenses to use the in your Roms or use an equally good free Application.
Good looking User Interface and Graphics
This is the major aspect that defines your Rom and makes it distinct from others. Work on that graphics that can be changed in your Rom, try different themes and skin enhancements in different aspects of os like dialer, lockscreen, fonts etc.
Keep Polls and ask Questions
Polls and asking questions from users is a very important way by which you can interact with users and get their feedback. Polls can be asking them about their preferences. Which applications they like or dislike, asking frequents questions on that changes you will be making in the Rom cause at the end of the day it is them who will be using them.
Learn from Competition
I don’t call the fellow developers a competition and usually many share their work and are supportive like i am to each other’s work. But you can learn from what is included in their Rom and if its catchy and important then you can add it to your Rom aswel. There might be many new and useful applications and features that other developers might be using and you are not even aware of that. It can be very helpful in evolving your Rom completely.
Listen and Learn from Users
Listening what a user has to say about their experiences on using your Rom is very important. They might have something very important to share from their experiences which you can incorporate in your Rom. It really helps in fixing bugs and improving your Rom further.
In the end you are the Decision Maker
Its you who has to take the decisions in the end. There will be many people wanting you to do this or that and add this or remove that but in the end you have to keep an unbiased judgment on all the requests, ideas and suggestions and bring forward the changes that you feel the masses are going to appreciate. And for that you will need to take care of all the above mentioned points in mind.
Give Credits
Not to forget that 70%-80% of your work is inspired from that of other developers. And it wonk charge you anything to be humbly give credit or some appreciation to the help you have got from other developers in terms of guides, tips, tricks, applications, UI Enhancements, etc. It just shows your character as a person as well.
What are Stock Roms and Custom Roms?
What is a Rom?
ROM – Read Only Memory is that memory which stores the system files of your Device. Those files which make up the basic Operating System, be is Windows Mobile Phone OS, Android, Symbian, Windows OS, etc. Every electronic device has a Read only Memory which stores the basic programming of the functions that the Electronic equipment is to perform. ROM in terms of our Android Devices the basic set of programming applications and files of functions which your device performs Out of the Box. Without a Rom no electronic device exists.
What are Stock ROMs?
Those ROMs which come pre installed are called Stock ROMs. Stock ROMs are the ones that come Box packed with your Device preinstalled. These are official Software that are provided by the Manufacturer or the OEM.
Is it possible to Edit/Customize/Alter Stock ROMs?
Yes it is. For a lot of Operating Systems be it Windows Mobile Phone OS, Android, Symbian, etc, it is possible to Customize these stock ROMs and install them to our devices.
What are Custom ROMs?
They are Custom ROMs are based on Stock ROMs but customized by the user in terms of additions in applications, improvements, removal of unnecessary application, etc. A customized ROM may be an minor improvement to Stock Rom or can even be a complete makeover of Stock Rom even changing the drivers of the Rom with that of other compatible devices providing better performance.
Why do we need Custom Rom?
Customization is making things personal. That is one main reason why we customize a Stock Rom. A stock Rom no matter what will have a lot of unnecessary applications, files, images, settings that are pre set by the Manufactures but are not at all important to us and uses a lot of space for no reason. No matter what there has to be one or the other Bug in a Stock Rom. To get rid of these issues we customize a stock ROM by either adding useful applications, settings, removed crap, fixing bugs and on getting a Top Notch easy to use and completely customized Device.
What about the warranty?
This is decision that you need to make personally. Yes, Custom ROMs will take away your precious warranty. But that to only if your device stops working while you are using Custom Rom on your device and you have to take it to the company. If you want you can revert back to Stock ROMs and then take your device to the Service Center and they won’t even know about it. But you need to consider reverting back to Original Stock Rom.
su
Also referred to as substitute user - a command for changing the account in the current terminal (usually black screen with blinking cursor). Default account is root account. So if you insert into terminal 'su' and hit enter, you will become root user.
root
Root alias superuser or poweruser is special user account for system administration. Similar to windows having its administrator account, unix-like systems have a root account. With this, you can do anything and if you run a command to delete the whole system, unix will just do it! No asking, no confirming. So, watch your steps!
rooting
Rooting is just enabling power of root for applications and other purposes.
Superuser app
After rooting is done, you will see a new app called superuser in app drawer. This app can delegate applications to use su (root) feature. When an app asks this from first use, a popup window will appear asking if the application should be allowed to use root permission.
sh, bash
is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. So simply, it is some interface, which can execute command(s), which you have entered. Many shells exist, but in scope of android you can (as far as I know) use only sh (standard - Bourne-shell) or bash (compiled in BusyBox or separately on XDA). Both are basically same, but bash has much more features and it is more comfortable.
user/root shell
How do I know if I'm root or normal user? It's simple. Root's shell is ended with # (usually it's shell looks like "bash-3.2# _") and user's ends with $ (usually bash-3.2$ _). In terminal emulator you also can have only [path]($|#) (for root for example "/etc # _")
BusyBox
also called "The Swiss Army Knife of Embedded Linux" is a tool which brings into Android basic tools known from unix system, but is much more smaller than standard tools is. But this "packing" has limited functions in comparison to standard tools in unix-system (missing special modes of tool, color output and so on). Many application use this. For example busybox grep (filtering of text) is needed for application called Market enabler.
BusyBox commands
list of commands is really wide, so it's not possible explain all, so I pickup only top few. (hint: if you want what some command do, just search on google for "man <command_name>" for example man mv or enter command here
cd - change directory - same like in windows. You can switch directory. example: cd /sdcard
ls - list of files in actual directory (have few switches like for example: ls -l /sdcard/*.png (detailed listing)
cat - print file into standard output (like more in windows) Example: cat /sdcard/data.txt
vi - editing of file. But on limited phone keyboard (no keyboard) it is little harder Read more about vi
cp - copy of one or more file. Example: cp /sdcard/bike.jpg /sdcard/media/bike-wallpaper.jpg
mv - moving/rename files, Example: mv /sdcard/bike.jpg /sdcard/media/renamed-moved-bike.jpg
rm - delete file (rm -R for recursive, or for delete whole folder), Example: rm -R /sdcard/wallpaper-bad/*
find - search for files, Example find / -name "best-chopper-ever.avi"
mkdir - make directory - creates directory, Example: mkdir mynewdir
chmod - changes access of files
less - similar like cat, but you can scroll in it and it doesn't produce any output. Example: less /sdcard/funnytext.txt
For BusyBox's tool help, just enter BusyBox <command_name> -h.
ADB (shell)
ADB - Android Debug Bridge is a versatile tool that lets you manage the state of an emulator instance or Android-powered device. It is a client-server program that includes three components:
* A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients.
* A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.
* A daemon, which runs as a background process on each emulator or device instance.
Generally, it can be compared with standard cmd prompt in windows (you can write commands which will be executed locally, for example in Terminal Emulator) or it can be just like SSH in unix-like system (you connect to terminal through adb client (in Android SDK) and commands will be run remotely.
Android SDK
Android software development kit is a complex set of tools for developing apps on Android. It includes a fully usable emulator of Android OS on your PC, where you can do everything. You can install/delete apps, browse web page in embedded web browser, play games or make your own application in Eclipse (widely used IDE for development). Of course, with emulator you can use also GPS or camera.
Android SDK tools
* Fully emulated Android device
* Android Development Tools Plugin (Eclipse IDE)
* Android Virtual Devices (AVDs)
* Hierarchy Viewer
* layoutopt
* Draw 9-patch
* Dalvik Debug Monitor Service (ddms)
* Android Debug Bridge (adb)
* Android Asset Packaging Tool (aapt)
* Android Interface Description Language (aidl)
* sqlite3
* Traceview
* mksdcard
* dx
* UI/Application Exerciser Monkey
* monkeyrunner
* Android
* zipalign
Tools for work with Android adb shell
You have two ways to connect into ADB service - locally and remotely.
Locally - for local access you will need some application which can connect to local adb shell.
Terminal Emulator (free) - probably most commonly used app from market, which works and looks like standard unix shell.
ConnectBot (free) - same as Terminal Emulator, but it can be also used for connecting via SSH or telnet
Remotely- For remote connection you need phone configuration adjustment:
Home desktop -> [menu button] -> Settings -> Applications -> Development -> USB debugging [ON].
Also you need connect your phone via USB (or finds on market some widget/app, witch enable using ADB also via wi-fi)
adb tool from Android SDK
After downloading Android SDK, extract the archive anywhere (in example I extracted it in c:/AndroidSDK). Then follow instructions on developer.android.com for installation of SDK Platform-tools (contains adb). After installation click on start menu and in Run... (in Windows7 in search bar) enter 'cmd' and press Ok or [enter]. Then write in cmd line:
Quote:
cd c:\AndroidSDK\android-sdk-windows\tools [enter]
now you can enter following command to connect to phone's adb shell if you don't have more connected device (virtual or real-one)
Quote:
adb shell
If you have more then one, you need explicitly say which one should be used for connection. So list connected devices with
Quote:
adb devices
which shows you serial number of connected devices. Than use
Quote:
adb -s <serial-number> shell
3. Custom recovery
* What is custom recovery
* Tools which custom recovery provide - NAND backup/restore, formatting of SDcard, partitioning (ext1,ext2, ext3), wiping, flashing of Custom ROM, ...
* Is it safe to install? - potential problems, backup/restore of original recovery
* How this whole thing works - installation description (not how-to install, just explanation of what is done during installation)
What is custom recovery
Recovery is an image (binary data) stored in internal memory. This image contains something like a "program" or "tool", which can boot-up independently from the Android system. This tool is part of phone system, and in PC terminology recovery can by compared to BIOS with some added features. This recovery state can be reached on all phones, but if you don't have a custom recovery, it will do a so-called HW reset and automatically restart itself into standard boot mode.
Tools which custom recovery provides
* USB-MS Toggle :mounts sdcard as mass storage
It just mounts your phone as USB-mass storage (USB disk) so you can access it through your PC
* Backup/Restore:
Absolutely GREAT feature. With NAND you can copy an image of your actual system (phone's memory). It means that you can backup the whole system with all configuration, customization, wallpapers, system's tweaks... just everything. This image will be written to your SD card which you are then free to copy around and back up on your computer
* Flash Zip From Sdcard
This tool is designed for installation of custom ROMs or tweaks. If you are instructed to install via custom recovery, then you should use this menu. Never unzip the file because it contains meta-information about itself with some validate-checks so if you edit it, or unpack and pack back, it won't work. And remember to place the file in the root (main folder) of your sdcard.
* Wipe Menu:
Wipe data/factory reset: wipes data & cache
- wipes user data (contacts, apps, configuration, ...) and cache (caches of applications)
Wipe cache
- wipes cache only
Wipe Dalvik cache : Wipes Dalvik cache in all possible locations if moved by apps2sd
- wipes Dalvik cache
Wipe SD:ext : Wipes Apps2sd ext partition
- if you used Partition SDcard option, you can wipe it here
Wipe Battery Stats (remember to fully charge your phone before doing this)
- If you think, that your battery life is too short, you can try delete battery stats. Than let phone fully charge. (more)
Wipe rotate settings
- wipe sensor settings (acceleration, ...)
Wipe .android secure : Wipes froyo native .android_secure on sdcard
- wipe information about moved apps
* Partition Sdcard:
Partition SD: Partitions sdcard for apps2sd (this formats card so all data will be lost)
- will create ext2 partition (you will be asked for size of ext2 and cache)
Repair Sd:ext
SD:ext2 to ext3 : converts apps2sd ext2 partition to ext3 (requires kernel support for ext3)
SD:ext3 to ext4 : same as above but ext3 to ext4 (requires kernel support for ext4)
ext2 - file system for the Linux kernel (no journal, fast but not recovery of I/O error)
ext3 - file system for the Linux kernel (journal, slower than ext2 because of journal, but provides recovery on I/O error)
ext4 - file system for the Linux kernel (journal, enhanced version of ext3)
* Mounts:
Gui automatically mounts folders
png-optimized -
png files takes less memory, are loads faster
JIT -
just-in-time compilation also known as dynamic translation, is a method to improve the runtime performance of computer programs, but it takes some time to convert into it on start.
HW:acceleration -
using of HW acceleration for rendering GUI. Increases battery consumption.
VM.Heap Size -
maximum memory an application can consume
stagefright -
In Android 2.2 new media framework that supports local file playback and HTTP progressive streaming
Deodex
Advantages or disadvantages
- Odexed ROMs are slightly faster, deodexed ROMs are slightly slower
+ You can make custom themes for your ROM
+ Performance los is negligible.
Requirements:
Download XUltimate
Busybox installed
Root
1. Connect phone to computer
2. Start xUltimate, we will now get the required files from our phone to deodex and zipalign it which we will describe in the 3rd step.
3. On the main menu of xUltimate, choose option 5 (Pull and deodex all). Everything will be done for you here. Don't worry. You will see all your finished files in the folders 'done_app' and 'done_frame' which are located in the installation directory of xUltimate.
4. move folders 'done_app' and 'done_frame' folders to your sdcard, you can find these folders in the directory of xUltimate as described in the previous step.
5. Make sure the sdcard is not mounted to pc anymore
6. Open Windows Command Prompt and type the following commands.
adb shell
su
stop
mount -o remount,rw /dev/block/stl12 /system
rm /system/app/*.odex
rm /system/framework/*.odex
busybox cp /sdcard/done_app/* /system/app/
busybox cp /sdcard/done_frame/* /system/framework/
chmod 644 /system/app/*
chmod 644 /system/framework/*
mount -o remount,ro /dev/block/stl12 /system
sync
reboot recovery
7. Now data and cache reset in the recovery menu...
8. reboot
If one of the commands, for example 'cp' is not found, try putting busybox in front of the command:
eg: busybox cp /sdcard/done_frame/* /system/framework/
--------------------------------------------------------------------------------------------------
[How To] Setup ADB for Windows/ Mac
For Windows
Want to set up ADB or Android Debugging Bridge on your PC, here is a quick guide for you. This tutorial does not need large download or full Android SDK installation. You will just have to download a small compressed file, which is all that you require.
STEP 1: First download this file called ADBUNZIPTOCDRIVE.zip, just click on the link, download will start automatically.
STEP 2: Now download PdaNet for driver installation. It comes with drivers from all major manufacturers, so this is all you need. Install PDAnet after downloading.
STEP 3: Now extract the zip file that we downloaded in the first step to C drive and name the extracted folder ADB.
STEP 4: Now we will go to the desktop and right click to make a new shortcut.
STEP 5: Point the shortcut to ADB folder that we created in step 3, and name the shortcut ADB or whatever you want.
STEP 6: Now right click on that shortcut and go to properties and change START IN field to c:\adb.
STEP 7: Click Apply or OK and you are done. Click on ADB shortcut on the desktop and you are good to go.
Here is list of ADB commands that might be useful for you in the future.
adb devices – list all connected devices
adb push <local> <remote> – copy file/dir to device
adb pull <remote> [<local>] – copy file/dir from device
adb sync [ <directory> ] – copy host->device only if changed
adb shell – run remote shell interactively
adb shell <command> – run remote shell command
adb emu <command> – run emulator console command
adb logcat [ <filter-spec> ] – View device log
adb forward <local> <remote> – forward socket connections forward specs are one of: tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp – list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> – push this package file to the device and install it
adb uninstall [-k] <package> – remove this app package from the device (‘-k’ means keep the data and cache directories)
adb bugreport – return all information from the device
that should be included in a bug report.
adb help – show this help message
adb version – show version num
adb wait-for-device – block until device is online
adb start-server – ensure that there is a server running
adb kill-server – kill the server if it is running
adb get-state – prints: offline | bootloader | device
adb get-serialno – prints: <serial-number>
adb status-window – continuously print device status for a specified device
adb remount – remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] – reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader – reboots the device into the bootloader
adb root – restarts the adbd daemon with root permissions
adb usb – restarts the adbd daemon listening on USB
adb tcpip <port> – restarts the adbd daemon listening on TCP on the specified port
:: build.prop tweaks ::
Experimental / Not Tested
##Date format
ro.com.android.dateformat=MM-dd-yyyy
ro.com.google.locationfeatures=1
ro.setupwizard.mode=DISABLED
keyguard.no_require_sim=true
ro.com.android.dataroaming=true
# Default network type.
ro.telephony.default_network=8
##8 => CDMA/EVDO/LTE auto mode preferred. (I don't know what should be the value for our Galaxy 3)
#proximit sensor disable touch distance
mot.proximity.distance=60
Working
##Makes phone boot rapidly fast
persist.sys.shutdown.mode=hibernate
##Force launcher into memory
ro.HOME_APP_ADJ=1
## Raise JPG quality to 100%
ro.media.enc.jpeg.quality=100
##VM Heapsize; 178MB RAM = 32 is better
dalvik.vm.heapsize=48m
##Render UI with GPU
debug.sf.hw=1
##Decrease dialing out delay
ro.telephony.call_ring.delay=0
##Helps scrolling responsiveness
windowsmgr.max_events_per_sec=150
##Save battery
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
##Disable debugging notify icon on statusbar
persist.adb.notify=0
##Increase overall touch responsiveness
debug.performance.tuning=1
video.accelerate.hw=1
##Raise photo and video recording quality (2.3 ROM only)
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
# Photo and video recording quality tweak (2.2 Rom only)
ro.media.dec.jpeg.memcap=10000000
ro.media.enc.hprof.vid.bps=1000000
##Signal (3G) tweaks
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=6
ro.ril.def.agps.feature=1
ro.ril.enable.sdr=1
ro.ril.enable.gea3=1
ro.ril.enable.fd.plmn.prefix=23402,23410,23411
ro.ril.enable.a52=1
ro.ril.enable.a53=1
ro.ril.enable.dtm=1
##Net speed tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
##Disable blackscreen issue after a call
ro.lge.proximity.delay=25
mot.proximity.delay=25
##Fix some application issues
ro.kernel.android.checkjni=0
##Phone will not wake up from hitting the volume rocker
ro.config.hwfeature_wakeupkey=0
##Force button lights on when screen is on
ro.mot.buttonlight.timeout=0
##Disable boot animation for faster boot
debug.sf.nobootanimation=1
# Enable Stagefright helps stream Video and Music Faster
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
# Enable display Dithering
persist.sys.use_dithering=1
# Enable purgeable assets
persist.sys.purgeable_assets=1
# For SD storage insert notification sound
persist.service.mount.playsnd=0
##Miscellaneous flags
ro.config.hw_menu_unlockscreen=false
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
Click to expand...
Click to collapse
init.d scripts
(needs ROM with init.d access and busybox, open empty file, insert header #!/system/bin/sh and put these there, save in /system/etc/init.d and name it something like 77tweaks)
Code:
##internet speed tweaks
echo "0" > /proc/sys/net/ipv4/tcp_timestamps;
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout;
echo "404480" > /proc/sys/net/core/wmem_max;
echo "404480" > /proc/sys/net/core/rmem_max;
echo "256960" > /proc/sys/net/core/rmem_default;
echo "256960" > /proc/sys/net/core/wmem_default;
echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem;
echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem;
##vm management tweaks
echo "4096" > /proc/sys/vm/min_free_kbytes
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness
echo "50" > /proc/sys/vm/vfs_cache_pressure
echo "90" > /proc/sys/vm/dirty_ratio
echo "70" > /proc/sys/vm/dirty_background_ratio
##misc kernel tweaks
echo "8" > /proc/sys/vm/page-cluster;
echo "64000" > /proc/sys/kernel/msgmni;
echo "64000" > /proc/sys/kernel/msgmax;
echo "10" > /proc/sys/fs/lease-break-time;
echo "500,512000,64,2048" > /proc/sys/kernel/sem;
##battery tweaks
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
##EXT4 tweaks (greatly increase I/O)
(needs /system, /cache, /data partitions formatted to EXT4)
tune2fs -o journal_data_writeback /block/path/to/system
tune2fs -O ^has_journal /block/path/to/system
tune2fs -o journal_data_writeback /block/path/to/cache
tune2fs -O ^has_journal /block/path/to/cache
tune2fs -o journal_data_writeback /block/path/to/data
tune2fs -O ^has_journal /block/path/to/data
##perfect mount options
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /system
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /data
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /cache
##Flags blocks as non-rotational and increases cache size
LOOP=`ls -d /sys/block/loop*`;
RAM=`ls -d /sys/block/ram*`;
MMC=`ls -d /sys/block/mmc*`;
for j in $LOOP $RAM
do
echo "0" > $j/queue/rotational;
echo "2048" > $j/queue/read_ahead_kb;
done
##microSD card speed tweak
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
##Defrags database files
for i in \
`find /data -iname "*.db"`
do \
sqlite3 $i 'VACUUM;';
done
##Remove logger
rm /dev/log/main
##Ondemand governor tweaks
SAMPLING_RATE=$(busybox expr `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency` \* 750 / 1000)
echo 95 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo $SAMPLING_RATE > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
##Auto change governor and I/O Scheduler
a) I/O Scheduler (Best: MTD devices - VR; EMMC devices - SIO) - needs kernel with these
echo "vr" > /sys/block/mmcblk0/queue/scheduler
or
echo "sio" > /sys/block/mmcblk0/queue/scheduler
b) Governor (Best: Minmax > SavagedZen > Smoothass > Smartass > Interactive) - needs kernel with these
echo "governor-name-here" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
##Block Ads with Hosts regularly updated in Sekhy ROM
Patch your hosts file for blocking Ads
(please think before doing this; many developers are supported through this way)
You can use AdFree application for this or changing manually your hosts file.
Here are some databases:
http://www.mvps.org/winhelp2002/hosts.txt
http://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts
##Use Google's dns servers
Create an empty file, name it resolv.conf and put there these 2 lines:
nameserver 8.8.8.8
nameserver 8.8.4.4
Save to /system/etc/.
Update Superuser and su binary to latest version
http://goo-inside.me/superuser/
I think many of you were familiar with QTADB. It is easy to manage your phone with it. But geeks who are interested doing the stuff in different ways try some of these:
Go to command command prompt where your ADB installed. (assuming you are familiar installing adb before doing these)
To install ADB download these and extract to any of the desired drive. Say D:\ or E:\ etc.
code to delete unwanted apps:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
rm /system/app/nameofapk.apk
Click to expand...
Click to collapse
code to add apps and stuff:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
exit
exit
adb push nameofapk.apk /system/app/
Click to expand...
Click to collapse
Tips & Tricks
Taking Screenshots
Taking screenshots on Android devices is a pain, but on the Galaxy S2, you can simply hold down the home button and then briefly press the power key to take a screenshot. You can then see your screenshots in the Gallery.
Adjusting Brightness with Notification Bar
The notification bar can serve as a brightness scroll on the Galaxy S 2, if you are not using the automatic brightness option. Just hit the notification bar, hold for a second and swipe left to decrese and right to increase the brightness.
Browser Text Wrapping
Out of the box the Galaxy S2 doesn’t automatically reflow the text in the webpage if you zoom in. But if you just goto settings and check the ‘auto-fit pages’ option, all is well again.
Changing User Agent
The SGS2 browser lets you change the user-agent without needing an extra app, just type ‘about:useragent’ in browser's location bar and you can choose between the iPhone, Nexus One, Desktop, Galaxy S or even enter a custom string.
Test Mode
Dialing *#0*# in the dialer enters the LCD test mode, useful if you are looking for for dead pixels, debugging sensors and other hardware parts of your SGS2.
Search Key
Although SGS2 like the SGS doesn’t have a dedicated search key that all other Android devices have, but if you long press menu, it launch the search screen, anywhere you'd need it.
Video Screen Lock
Pressing the power button while video player is playing locks the screen, now you can hold the device any way you like, no more accidental presses will happen. To unlock, just press the power button again.
Customizing App Launcher Bar
If you would like to change applications shortcuts in bottom application launcher bar, press the Applications button, then Menu -> Edit. You can then rearrange those shortcuts or replace them with other applications or remove them completely. There's limita of maximum 3 shortcuts and the Home button will always be there.
Changing USB to File Transfer Mode
When you connect USB cable, SGS2 mounts it's file system read-only and transfering files between PC and handset is possible with Kies only. To change this behavior to normal read-write USB file transfer mode, go to Settings -> Applications -> Development and enable USB debugging.
User interface
Scrolling:
- Use two fingers to scroll until fingers are released.
- Use three fingers to scroll fast until top/bottom.
Phone wake up: Via home or power.
Hold menu: Quick access Android search.
Dobule click home: Quick access voice commands.
Screenshot: Press home and power simultaneously. Screenshots are saved in /sdcard/ScreenCapture/
Home screen
Multiple home screens: Touch the dots to switch directly to a screen or hold and drag left/right to scroll very fast.
Changing shortcuts at the bottom: Click „Applications“ (bottom right), then menu, click „Edit“: Now change the three (left) icons via drag & drop. Afterwards click menu and choose „Save..“.
Quick brightness change: Hold the notification bar (on the top) and drag left/right to modify brightness (if not set to auto).
Pinch home screen to view all home screens and add/delete them.
Pinch application screen to view all application screens and reoder them.
Set background image for lock screen: When changing your desktop background image, there are two buttons, choose the right one (smaller area) and save. Now you‘ll be asked to use this image for the lockscreen too.
Android Apps
E-Mail: Pinch in the overview list to fold/unfold by date.
E-Mail: Click longer on a date (either the sent date or a date in the email text): Create a new calendar event for this date.
Contacts: Drag left over a contact to send SMS, drag right to call
Keypad: Use the letters on number keys to type a name, the triangle on the right shows how many matching contacts are found, clicking on it reveals them.
Camera: Change shortcut buttons by clicking menu, “Edit”, then modify shortcut buttons via drag&drop.
Camera: Pinch to zoom in/out.
Browser: Pinch to view all tabs/windows.
Browser: Go to “about:debug” via address bar. Now you have additional options when pressing the menu (at the bottom)
Browser: Go to “about:useragent” via address bar. Now you can modify the user agent string.
Video player: Drag left/right to Fast forward/Rewind
Video player: Power locks/unlocks the screen
Calendar: Pinch in month view to get an overview, swipe left/right to change the year.
Easter egg from Google: Go to preferences, about phone, click some times on “Android Version” (try multiple times)
[DIY] Do it yourself guides:
Reset Galaxy S II
Warning: All your data including contacts, messages will be lost!
Hard Reset:
Press and Hold Volume Up + Home button.
Keep pressing these two and press Power button for 2-3 seconds.
Release only power button. But keep pressing Volume UP + Home buttons.
Now, with Volume down, select wipe data/facotory reset (3rd)
Press Power
Useful Codes:
*#0*# LCD Screen test
*#06# Show IMEI Number
*#2222# HW Version
*#1234# Phone info
*#34971539# Camera Firmware
*#9900# Sysdump (Logfiles etc.)
*#0228# Battery diagnostics
*#7284# Phone utility
*#7353# Function testing
*#9090# Service Mode
*#*#197328640#*#* Service Mode Menu
*2767*3855# Factory Reset
Complete Codes Collections for SGS II and should work with other Samsung droids many of them.
Warning: Please use with caution
1 #*#8377466# S/W Version & H/W Version.
2 #*0227# GPRS Switch.
3 #*0277# GPRS Switch.
4 #*2027# GPRS Switch.
5 #*2077# GPRS Switch.
6 #*2252# Current CAL.
7 #*2255# Call Failed.
8 #*2256# Calibration info? (For CMD set DEBUGAUTONOMY in cihard.opt)
9 #*22671# AMR REC START.
10 #*22672# Stop AMR REC. (File name: /a/multimedia/ sounds/voice list/ENGMODE.amr)
11 #*22673# Pause REC.
12 #*22674# Resume REC.
13 #*22675# AMR Playback.
14 #*22676# AMR Stop Play.
15 #*22677# Pause Play.
16 #*22678# Resume Play.
17 #*22679# AMR Get Time.
18 #*2286# Databattery.
19 #*2337# Permanent Registration Beep.
20 #*2351# Blinks 1347E201 in RED.
21 #*2474# Charging Duration.
22 #*2527# GPRS switching set to (Class 4, 8, 9, 10)
23 #*2558# Time ON.
24 #*2562# Restarts Phone.
25 #*2565# No Blocking? General Defense.
26 #*2677# Same as 4700.
27 #*2679# Copycat feature Activa/ Deactivate.
28 #*2775# Switch to 2 inner speaker.
29 #*2787# CRTP ON/OFF.
30 #*2834# Audio Path. (Handsfree)
31 #*2836# AVDDSS Management Activate/ Deactivate.
32 #*2886# AutoAnswer ON/OFF.
33 #*3270# DCS Support Activate/ Deactivate.
34 #*3273# EGPRS multislot. (Class 4, 8, 9, 10)
35 #*3282# Data Activate/Deactivate.
36 #*3353# General Defense, Code Erased.
37 #*3370# Same as 4700.
38 #*3476# EGSM Activate/Deactivate .
39 #*3676# FORMAT FLASH VOLUME!!!
40 #*3725# B4 last off.
41 #*3728# Time 2 Decod.
42 #*3737# L1 AFC.
43 #*3757# DSL UART speed set to. (LOW, HIGH)
44 #*3837# Phone Hangs on White screen.
45 #*3838# Blinks 3D030300 in RED.
46 #*3838# Blinks 3D030300 in RED.
47 #*3849# Restarts Phone.
48 #*3851# Restarts Phone.
49 #*3876# Restarts Phone.
50 #*3877# Dump of SPY trace.
51 #*3888# BLUETOOTH Test mode.
52 #*3940# External looptest 9600 bps.
53 #*3941# External looptest 115200 bps
54 #*4263# Handsfree mode Activate/ Deactivate.
55 #*4472# Hysteresis of serving cell: 3 dB
56 #*4700# Please use function 2637.
57 #*4760# GSM Activate/Deactivate.
58 #*4773# Incremental Redundancy.
59 #*4864# White Screen.
60 #*5133# L1 HO Data.
61 #*5171# L1P1.
62 #*5172# L1P2.
63 #*5173# L1P3.
64 #*5176# L1 Sleep.
65 #*5187# L1C2 G trace Activate/ Deactivate.
66 #*5376# DELETE ALL SMS!!!!.
67 #*5737425# JAVA Mode.
68 #*6833# New uplink establishment Activate/Deactivate .
69 #*6837# Official Software Version: (0003000016000702)
70 #*7200# Tone Generator Mute.
71 #*7222# Operation Typ: (Class C GSM)
72 #*7224# !!! ERROR !!!
73 #*7252# Operation Typ: (Class B GPRS)
74 #*7271# CMD: (Not Available)
75 #*7274# CMD: (Not Available)
76 #*7284# L1 HO Data.
77 #*7287# GPRS Attached.
78 #*7288# GPRS Detached/Attached .
79 #*7326# Accessory.
80 #*7337# Restarts Phone. (Resets Wap Settings)
81 #*7352# BVMC Reg value (LOW_SWTOFF, NOMINAL_SWTOFF)
82 #*7372# Resetting the time to DPB variables.
83 #*7462# SIM Phase.
84 #*7524# KCGPRS: (FF FF FF FF FF FF FF FF 07)
85 #*7562# LOCI GPRS: (FF FF FF FF FF FF FF FF FF FF FF FE FF 01)
86 #*7666# White Screen.
87 #*7683# Sleep variable.
88 #*7693# Sleep Deactivate/Activate .
89 #*7722# RLC bitmap compression Activate/Deactivate .
90 #*77261# PCM Rec Req.
91 #*77262# Stop PCM Rec.
92 #*77263# PCM Playback.
93 #*77264# PCM Stop Play.
94 #*7728# RSAV.
95 #*7732# Packet flow context bit Activate/Deactivate .
96 #*7752# 8 PSK uplink capability bit.
97 #*7785# Reset wakeup & RTK timer cariables/variables.
98 #*7828# Task screen.
99 #*7878# FirstStartup. (0 NO, 1 YES)
100 #*7983# Voltage/Freq.
101 #*7986# Voltage.
102 #*8370# Tfs4.0 Test 0.
103 #*8371# Tfs4.0 Test 1.
104 #*8372# Tfs4.0 Test 2.
105 #*8373# Tfs4.0 Test 3.
106 #*8374# Tfs4.0 Test 4.
107 #*8375# Tfs4.0 Test 5.
108 #*8376# Tfs4.0 Test 6.
109 #*8377# Tfs4.0 Test 7.
110 #*8378# Tfs4.0 Test 8.
111 #*8379# Tfs4.0 Test 9.
112 #*8465# Time in L1.
113 #*8466# Old Time.
114 #*8724# Switches USBACM to Generator mode.
115 #*8725# Switches USBACM to Loop-back mode.
116 #*8726# Switches USBACM to Normal.
117 #*8727# Switches USBACM to Slink mode.
118 #*9270# Force WBS.
119 #7263867# RAM Dump. (On or Off)
120 *#*#4636#*#* Access Phone/Battery/Usage Stat/WiFi Info
121 *#0*# Access Sensor/LCD Screen Test/ Vibration/ Camera/ Speaker etc test
122 *#0011# ServiceMode/Debug /Basic
123 *#06# IMEI Number.
124 *#1234# Firmware Version.
125 *#2222# H/W Version.
126 *#2255# Call List.
127 *#232337# Bluetooth MAC Adress.
128 *#4777*8665# GPSR Tool.
129 *#5282837# Java Version.
130 *#8999*327# EEP Menu.
131 *#8999*364# Watchdog ON/OFF.
132 *#8999*377# Error Menu.
133 *#8999*427# WATCHDOG signal route setup.
134 *#8999*523# LCD Brightness.
135 *#8999*667# Debug Mode.
136 *#8999*8376263# All Versions Together.
137 *#8999*8378# Test Menu.
138 *#92782# PhoneModel. (Wap)
139 *2767*226372# E2P Camera Reset. (deletes photos)
140 *2767*2878# E2P Custom Reset.
141 *2767*3855# E2P Full Reset.
142 *2767*688# Reset Mobile TV.
143 *2767*927# E2P Wap Reset.
Useful Links
-Debrand & Rebrand back to O2 for Samsung Galaxy S2
-Permanently Fix SGS2 Echo and Digital Noise Reduction/Cancellation Problems
-Back up your data before moving to a new rom
-Recover your IMEI in 9 steps.
-Battery Saving Tips Collection
Mods:
-add customizable 14 statusbar toggle buttons for samsung ROM
-Long press volume buttons to skip songs.
-Manually Deodex and Odex back
-Learn to make your own 'eye-candy' mods [Easy Steps]
Tools:
-EFS Pro v1.2.6 - Advanced '/efs' Backup and Restore!
Patches:
-Add native android SIP stack for Wifi AND 3G calls
-Extended Power Menu with no header (reboot / download / recovery)
Speechless lol. Well done though.
looks like an iphone but powered by android baby!!!!
This should be a sticky thread
androidkid311 said:
Speechless lol. Well done though.
looks like an iphone but powered by android baby!!!!
Click to expand...
Click to collapse
Thanks for feedback. Can you explain what iphone thing you have mentioned?
anshmiester78900 said:
This should be a sticky thread
Click to expand...
Click to collapse
Thanks feedback like these will encourage me to do more.
Bloody hell. Made good reading while I was having a dump.: D I say sticky time. I mean sticky thread
Sent from my ICS blood mode S2
sekhargreen said:
Thanks for feedback. Can you explain what iphone thing you have mentioned?
Click to expand...
Click to collapse
Think that is his signature.
Nice posts! But you STILL didn't explain how to make the godamn ROM. All I saw was how ROM makers should be bla bla. I didn't see anywhere how to make the godamn .zip file.
That is awesome. Please continue.
Such efforts must be awarded.
Nice one mate!
This was really a good read
nice ****load of tweaks, but they are useless if you dont define and explain what each of them do.
good work though, keep it up!
even the real bible don't have this much reservations in this forum ...
and waiting for it...
Awesome thread mate... defo sticky material!
Fantastic post
This should be a sticky thread. Helped me with a lot of those... Thank you
Thank you for for this great and nice job/sharing, it's good to know even more about the stuffs that what we are dealing with..!
Best regards!
Fail to understand what is the point of this thread. Lots of preaching and shallow stuff. Sorry.

[ROOTED / 3FILE] XWJWB#_XEEJW2_XWJW1 by stock+

>> DOWNLOAD <<
I9000_JWB_JW2_JW1_stock.zip is:
- rooted 3 file repack of XWJWB_XEEJW2_XWJW1 firmware
---- latest ChainsDD Superuser
---- latest busybox
---- proper symlinks
- Odin 3.07 for flashing
- 512.pit file (USE ONLY THIS ONE) for repartition
What is not done:
- no extended CWM recovery - this may come later
- no modifications - this will come later
How to install:
NOTE: this instalation will wipe your system and user data but leave internal /sdcard/ untouched
- backup current messages / call logs / apps+data / wifi and bt
- put your device in DOWNLOAD MODE
- connect to PC
- open Odin and place files as shown at screenshot from attatchemnt (do not use other pit files) and hit Start
* if you feel confident you might like to change CSC file to one matching your location to get for ex. Swype language support
- enjoy Your rooted XWJWB - restore messages / call logs / apps+data / wifi and bt
What was done:
- clean JWB_JW2_JW1 flash with repartition
- rooting
- installing Superuser.apk - v 3.1.3
- installing busybox (+symlinks) - v 1.21.0.git
- dumping factoryfs.rfs (rooted system partition)
* i know it could be done cleaner but it will do the trick
- assembling 3 file package out of it
XWJWB MODIFICATIONS, LINKS --- --- --- --- --- --- --- --- --- --- --- --- ---
> rom-g's % battery mod --- test version
> non increasing ringtone --- test version
> Status/Quick- bar's icons --- test version < UNSTABLE - use at own risk - NFO
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
Thanks to:
- Samsung for still releasing updates for I9000
- Grooby for helping me root it
- XDA for keeping I9000 forums
changelog
it will be made with latest tools available, only odex and most probably an Odin flashable only ;]
What modifications will be included in next release:
+ BROWSERFIX - FULLSCREEN + background fix for transparent background + max tab number extended from 4 to 8
+ VOLSNDFIX - changes the annoying tone of volume_change on keypress to CUSTOMIZABLE mp3 file
(those files are located in /system/media/audio/ui/ files Volume-1.mp3 to Volume-7.mp3)
+ 1 % stepping battery xml status/loading + battery mod
+ GSM/Wifi/Data Connection icons turns green/colored when connected (few data connection png types in customizations)
+ Fully enabled SIP Wifi/3g
+ Camera hacks: 'Low Battery' Hack + 'Shutter' Hack + Audio Hack (no audio hack version also aviable in customization)
+ Enabled stay awake for ac and usb in settings/applications/development
+ "Use incoming call volume for notifications" tweak
+ Enabled dock options
+ Mms hacks: no conversion to mms after 3 smses / 100 recivers / send time
+ Phone hack: autorotating dialer and call screen / non increasing ringtone
This might be included in future release but probably will not be:
+ VideoPlayer & MusicPlayer working under 15%
(when ill find the mod files)
+ Status bar a bit transparent (100% transparent version also aviable)
+ Notification area transparent and tweaked: removed carrier text, size tweaks, clear button moved
(i am unsure if transparency is needed, might be i will end up only with some tweaks)
+ Touchwiz3 tweaks: 5 icon dock, transparent appdrawer, transparent shortcut area in appdrawer, no app icon background, 4x4 stock appdrawer and workspace (landsca version also aviable in customization)
(i think i will pick some of those modifications in furure releases)
+ Extended power menu /reboot,recovery,download mode/
(no need for it, stock means no custom recovery so no need to for that menu)
+ CRT 'screen off animation' (optional version wo CRT screen off animation)
(it looks fine but breaks screen off / dim off animation - might be that this modification will be optional)
+ AOSP lockscreen / Glass-Stock Lockscreen
(no need for those)
feel free to express your opinions
recovery 2e would be a great addition
mrplowdan said:
recovery 2e would be a great addition
Click to expand...
Click to collapse
exactly
Thanks for the file.
By the way how do you root this build?, stock kernel? 2.6.35.7-1217612 if so can you provide separate package for the kernel?
it is allready rooted and custom recovery - we will think about it
custom recovery so you can break something? NEVER! =)
# is enought if you want to play with the phone
rom-g's % battery mod --- test version
>> DOWNLOAD <<
sorry for hotfile link but xda system allows files up to 8mb only uploaded
* if You do not understand the below - do not try to do it
> adb push framework-res.apk /sdcard/framework-res.apk
> adb shell
$ su
# stop
# mount -o rw,remount /dev/block/stl9 /system
# rm /system/framework/framework-res.apk
# cp /sdcard/framework-res.apk /system/framework/framework-res.apk
# cd /system/framework/
# chmod 644 /system/framework/framework-res.apk
# ls -l
[...]
-rw-r--r-- root root 9943479 2013-06-01 14:33 framework-res.apk
[...]
# sync
# reboot
>
Click to expand...
Click to collapse
if something, somehow fails:
extract factoryfs.rfs from PDA_XWJWB.tar (first post package)
tar it (after it will be factoryfs.tar) and flash as PDA in Odin via download mode - this will overwrite the /system/ partition with correct filesystem wo touching Your data
non increasing ringtone --- test version
>> DOWNLOAD <<
* if You do not understand the below - do not try it
> adb push Phone.odex /sdcard/Phone.odex
> adb shell
$ su
# stop
# mount -o rw,remount /dev/block/stl9 /system
# rm /system/app/Phone.odex
# cp /sdcard/Phone.odex /system/app/Phone.odex
# cd /system/app/
# chmod 644 /system/app/Phone.odex
# ls -l
[...]
-rw-r--r-- root root 816104 2013-06-03 15:32 Phone.odex
[...]
# sync
# reboot
>
Click to expand...
Click to collapse
if something, somehow fails:
extract factoryfs.rfs from PDA_XWJWB.tar (first post package)
tar it (after it will be factoryfs.tar) and flash as PDA in Odin via download mode - this will overwrite the /system/ partition with correct filesystem wo touching Your data
Status/Quick- bar's icons --- test version
>> DOWNLOAD <<
* if You do not understand the below - do not try it
> adb push SystemUI.apk /sdcard/SystemUI.apk
> adb shell
$ su
# stop
# mount -o rw,remount /dev/block/stl9 /system
# rm /system/app/SystemUI.apk
# cp /sdcard/SystemUI.apk /system/app/SystemUI.apk
# cd /system/app/
# chmod 644 /system/app/SystemUI.apk
# ls -l
[...]
-rw-r--r-- root root 253909 2013-06-03 16:13 SystemUI.apk
[...]
# sync
# reboot
>
Click to expand...
Click to collapse
if something, somehow fails:
extract factoryfs.rfs from PDA_XWJWB.tar (first post package)
tar it (after it will be factoryfs.tar) and flash as PDA in Odin via download mode - this will overwrite the /system/ partition with correct filesystem wo touching Your data
i am marking SystemUI mod UNSTABLE - use at own risk
ive noticed once SystemUI crashing and reloading to stock GB icons
ive also managed to do fast bugreport command afterwards and hopfully some data were dumped to analyze that incident
btw i am still waiting for beta tools to be released for testing that will hopefully iron the bugs i submited to authors and let me finish stock+ modifications =)
JWB stock kernel addition request
I have found this stock rom to be fantastic.
The only thing missing is notification support (bln style).
Anyone know how to add the required support for this?
ta.
i can add the mod to system files but you would still need a kernel with bln support
Might have to try going back to Semaphore 2.74 to get bln support. Seems a shame to go backwards.
I'm not sure if stock JWB kernel supports deep idle and other advanced features, but battery life and performance seems great so far.
I wonder if bln could be added via a loadable kernel module? I'll do some googling...
i think you could build own kernel based on latest ssources aviable and just add bln support
idk how about deep idle but stock for sure supports deep sleep
more on bln suport XWVVB
tried installing many different kernels.... Ran into all sorts of incompatibilities.
In the end installed
JWB CWM (deodex root semaphore 2.7.4 MultiCSC WIPE)
from : http://forum.xda-developers.com/showthread.php?t=2205881
then CWM, bln from market.
now it appears to be stable, bu bln only works on gmail, sms messages display on lockscreen, which is nice but i think disable bln as the lockscreen lights up! Another launcher might be the only way to go here...not sure.
thats the patch your missing https://github.com/neldar/backlight...atches/i9000-jvh/bln-i9000-jvh-services.patch i guess

[Tool][Win] GOptimize v1.44 (BASH script for CYGWIN)

GOptimize v1.44 (BASH script for CYGWIN)
...is a tool for optimizing PNG's (and JPG's) in Android Applications and recompressing its files.​
Help and Extra Help:
Code:
$ goptimize -he
#####################[ GOptimize v1.44 ]########################
---------------------------------------------------------------#
usage: goptimize [options] *.apk #
################################################################
GOptimize optimizes APK's with various tools .:. [email protected] #
################################################################
OPTIONS: #
-h Show Help #
-he Show Help + Extra Help (also accepts -hh) #
-p Optimize PNG's #
-9 Optimize 9-patch (*.9.png) PNG's while optimizing PNG's #
-m [1-16] Multi-Threaded PNG optimization; forces -p #
-zz Use ZopfliPNG instead PNGout (More info in Extra Help) #
-zo Use both PngOut + ZopfliPNG for max PNG compression #
-q Convert PNG's to 8-bit with PngQuant with minimum #
required quality [0-100]; -q0 to force conversion #
-j Optimize JPG's with jpegoptim; [0] or [75-100] #
-e [-|??] Clean resources of unneeded languages #
-a Recompress resources.arsc with CL[0-6] #
-d Recompress classes.dex with CL[0-6] #
-b Remove debug info from classes.dex for API[1-21] with #
baksmali/smali; -d[0-6] required; -d5 recommended #
-s [1,2] Force smali v1 or v2 when removing debug info #
-l Recompress libraries with CL[0-6] #
-r Recompress APK with CL[0-6] #
-R [+,-] Smart Recompression modes, read extra help... #
-k Keep only libraries for architecture: 1 armeabi #
2 armeabi-v7a #
3 mips #
4 mipso32 #
5 x86 #
-t Sign APK with Android test certificate #
################################################################
Extra Help #
---------------------------------------------------------------#
PNG Optimization: #
PNG optimization is lossless and tools used for it are: #
TruePNG, PngOut, ZopfliPNG and DeflOpt. #
#
ZopfliPNG (-z option info): #
[z] Use ZopfliPNG instead PngOut for better compression #
and saving few more kBs at cost of ~20% longer process. #
[o|b] Use both PngOut + ZopfliPNG for max compression #
at cost of extra ~20 longer process compared to [z] #
#
Converting PNG's to 8-bit with PngQuant (-q option) #
Converts PNG's to 8-bit with minimum required quality #
[0-100]. If quality of converted png is lower than #
minimum set threshold original png will be preserved. #
-q0 to force conversion; -q100 will skip almost all png #
Advanced MIN-MAX thresholds can be used [0-100]-[85-100] #
PngQuant defaults are -q 45-85; if max threshold not #
specified it is set to 100. #
#
JPG's optimization with jpegoptim #
[0] is lossless optimization and recommended. #
It does not recompress jpg's, it just strips all #
unnecessary info and optimizes huffman coding. #
[75-100] optimizes and recompresses jpg's. Level 95 is #
recommended, it will recompress unnecessary big ones #
and do lossless optimization on other jpg's. #
#
Cleaning resources of unneeded languages with ApkTool v2: #
[-] Remove all unneeded lang. from resources #
[??] Keep language with ?? language code #
You can keep multiple languages: -e 'hr en de fr' #
[-Ei] Addon option, example "-e 'hr' -Ei" will try #
to remove strings that are not required from #
required languages except the ones you're keeping. #
Result: even smaller 'resuorces.arsc'. #
If you're cleaning system apps you need to put framework #
files (framework-res.apk, etc...) in framework directory #
where apk is located, usually: "PlaceApksHere\framework" #
#
Compression Levels: #
Script always uses 10 passes for compression which #
guarantees maximum compression and does not impact #
decompression time. Script CL differ in fast bytes. #
CL(1) <=> 4 fb CL(4) <=> 32 fb #
CL(2) <=> 8 fb CL(5) <=> 64 fb #
CL(3) <=> 16 fb CL(6) <=> 128 fb #
You can also enter custom fast bytes number to be used #
for compression by entering fb[3-258] instead CL. #
Examples: -afb3 -dfb69 -lfb132 -rfb258 #
#
APK Recompression (-r option): #
As of v1.25 script uses Smart Recompressing i.e. it #
will leave files uncompressed in GOptimized apk that #
were uncompressed in original apk which is the best way #
for recompressing. #
-R+ Script will use Smart Recompression plus it will #
never compress file formats from below list even if #
they were compressed in original apk. #
-R- Script will disable Smart Recompress and store #
file formats uncompressed only if they are on below #
list. #
Following Android Asset Packaging Tool rules following #
list of file formats: #
"jpg jpeg jpe jfif png gif wav mp2 mp3 ogg aac mpg #
mpeg mid midi smf jet rtttl imy xmf mp4 m4a m4v 3gp #
3gp 3gpp 3g2 3gpp2 amr awb wma wmv zip lzma xz 7z lua #
pxp resS gltxt geo apf zi_" #
should never be compressed as they are already #
compressed formats or don't compress well. #
Most developers use this file formats for databases and #
compressing them would result with application errors. #
#
APK signing with Android test certificate #
Non system apk's and apk's you want to install after #
goptimization are needed to be signed. You need Java #
configured for signing. #
Alternative is to patch rom (core.jar) with #
Lucky Patcher not to verify signatures. #
#
Configure Java: #
To use -b or -e feature you need to enter java bin path #
in bin\.JavaPATH file which is usually #
"C:\Program Files\Java\jre[version number]\bin" #
#
GOptimize.cmd Default Options: #
You can edit GOptimize.cmd default options in #
bin\.DefaultGO file. GOptimize.cmd default options are: #
"goptimize -p -q50 -j0 -a0 -d6 -l6 *.apk;" #
################################################################
[+] Download: https://www.mediafire.com/folder/a2z9fpcr4131a
ApkTool: https://www.mediafire.com/folder/7vv4unj5diiu2
Smali (Baksmali): https://www.mediafire.com/folder/p4b4d31bzcuj0
Changelog:
2016-04-03 v1.44
Alowed use of Android API 1-23 for smali (23 is A6.0 MM)
Updated smali to v2.1.1
Updated ApkTool to v2.1.0
Updated pngquant with newest libpng v1.6.21 to v2.6.0
Updated jpegoptim with libjpeg v9b to v1.44
2014-12-22 v1.43
Don't optimize 9 patch png's by default as ApkTool can't read them and decompile apk after....
Alowed use of Android API 1-21 for smali...
Updated smali to 686cf35c8e9d7eedc5af5989671917719dfe320a (2014-11-07)
Updated ApkTool to 2bd1e595df7dd0743f972845bd5874e8db65cd95 (2014-12-18)
Updated pngquant with newest libpng v1.6.15 to v2.3.1 (cc39b47799a7ff2ef17b529f9415ff6e6b213b8f) (2014-12-12)
Updated jpegoptim with libjpeg v9a to v1.42 (c6fa01bd56e00b764560b5ad3e1436ef829279c0) (2014-12-22)
2014-07-16 v1.42
Don't overreduce colors on 9-patch pngs...
Recompiled zopflipng with O3 and some other optimizations for 30% speedup...
AutoRepair APK's with bad header...
Updated pngquant to v2.3.0 (8d21a4563e)
2014-06-26 v1.41
GOptimize now also optimizes 9-patch (*.9.png) png's; To disable optimizing of 9-patch pngs use -9 option...
Updated libpng to v1.6.12 and recompiled pngquant with it
2014-06-19 v1.40
Updated ApkTool to 2.0.0-RC1-a7b06f161b91dfdf985a717e9713dff5c46688b7 https://github.com/iBotPeaches/Apktool/commits/master
Updated pngquant to 2.2.0-860f9fb80fceac2998242ed7c5327da480964d24 https://github.com/pornel/pngquant/commits/master
Fix: Removed need for tr.exe. (although I still put it in bin just in case =)
Removed posterize because its inferior to pngquant. (-c option is now -q0-100 aka -q0)
Improved -Ei option to remove non-required strings from required languages except the ones you want to keep. Works on YouTube now...
2014-06-01 v1.39
Changed default action to "goptimize -p -q50 -j0 -a0 -d6 -l6 *.apk;" as pngquant is much better than posterizer and setting -q50 is actually pngquant quality 50-100 so it won't reduce colors more than once no matter how many times you apply it...
In v1.38 cleaning of unneeded languages no longer worked with newest ApkTool, so I needed to change my code to read from new ApkTool output and as I were doing it I rewrote code for required strings integration to work better...
Compiled with libpng-1.6.10 and lcsm-2.6 and updated pngquant to 2.2 git-917f5e796d9d96ce22af25808e49ff24e4190176
Updated jpegoptim to v1.4.1 git-33aabed13dc24e16292405b79a13305059ba453a
Updated ApkTool to 2.0.0-RC1-848f0d6b5fb195f73222177ee161e35e6a1e65a6
2014-04-30 v1.38
Updated all Cygwin tools
Compiled with libpng-1.6.10 and lcsm-2.6 and updated pngquant to 2.2 git-636151dd8e
Updated jpegoptim to git--e9dc8ef069
Updated zopflipng to zopfli-Hello71-e7778ddedb with bunch of fixes
Some script improvements...
2014-04-09 v1.37
Added ability to specify advanced MIN-MAX thresholds when using pngquant; it's defaults are -q 45-85
2014-04-09 v1.36
Added converting pngs's to 8-bit using PngQuant; -q [0-100] option
Updated smali v2 & ApkTool v2
smali v2 is now used as default instead v1
2014-03-14 v1.35
Updated smali2: 2014-02-02 smali 2.0.3-2d8cbfe6.7z
Updated ApkTool v2 to 2014-03-09 ApkTool-GitHub-1e3b66f9be
Some layout folders were not removed when cleaning languages on newer apps
GOptimize now displays which version of ApkTool is used for cleaning
2014-01-20 v1.34.02
Updated smali2 & baksmali2 to 2014-01-18 smali 2.0.3-4357de47
Updated ApkTool v2 to 2014-01-19 ApkTool-GitHub-a91e87bb04
2013-12-14 v1.34.01
Updated smali2 & baksmali2 to GitHub-eae0b0edbf
Updated ApkTool v2 to beta 8 GitHub-d5d03fe1e4
2013-11-27 v1.34
Fixed Bug where using a combination of -p, -j and -r options without -R would cause all files to be stored in apk without compression
Updated ApkTool v2 to beta 8 GitHub-a1ca5019d8
2013-11-17 v1.33
Default options changed to "goptimize -p -j0 -a0 -d5 -l5 *.apk;" because now it auto detects number of CPU cores for PNG optimization. -m option no longer needed.
You can also use shortcut -pczo for maximum png optimization instead -p -c -zo
NEW FEATURE: When cleaning unneeded languages use -Ei option to try to integrate only required strings from required languages to public strings to make even smaller resources.arsc; example "goptimize -e- -Ei *.apk"
-Ea is alternative apk repacking on cleaning unneeded languages if apk does not work after; you can use both -Eai; -Eia does the same...
Updated ApkTool v2 to 2.0.0-Beta8-d2fc74d984 (GitHub)
Updated smali v2 to v2.0.2
Added defluff to PNG optimization chain for maximum PNG structure optimization
Code improvements and cleanup...
2013-10-30 v1.32
FIXED Bug in Cleaning languages where optimizing multiple apps would cause required languages to accumulate i.e. detected required languages from above apk would not be removed from below/latter apks because I forgot to reset variables (or make them local).
Thanks @ct_moi for detection =)
2013-10-29 v1.31
Added some code to avoid where Median Cut Posterizer could make some small (<8kB) png's bigger than original.
I was GOptimizing JEFIT with -czo and freaked out when PNG Savings went -100kB, so I added some code to avoid that =)
Updated TruePNG binary to v0.4.1.1
2013-10-26 v1.30
Cleaning of unneeded languages works fine as long as ApkTool is able to rebuild apk; only problematic app which gets corrupted is GMail
Known language codes: af am ar be bg bn ca cs da de el en es et fa fi fr gu hi hr hu id in it iw ja kn ko lt lv ml mr ms nb nl pa pl pt ro ru sk sl sr sv ta te th tl tr uk vi zh zu
NEW Feature: -c; Pre-process PNG's with Median Cut Posterizer (posterize -d -Q 100; maximum quality) which makes PNG's more compressible and save 2-3X more kBs with almost none visual difference. However, keep in mind it's lossy optimization.
Updated ApkTool v2 beta 7 to GitHub-2ef25fe5e2 latest version
Updated smali 2.0.1 to GitHub-263083faed latest version
Updated TruePNG to 0.4.0.9
Replaced PNGZopfli with ZopfliPNG which is better tool.
Default GOptimize options are now in bin\.DefaultGO file for easier editing
-zo option is now default instead -zb; you can still use -zb, it does the same as -zo;
PNG Optimization code improvements
Java 1.7 or above required for -b and -e
Archives are RAR5 format and WinRAR5 is needed to extract.
2013-10-17 v1.27 beta 12
Changelog Here
2013-10-01 v1.26
Fixed -t i.e. signing not working in v1.25
2013-09-30 v1.25
Introduced Smart Recompression, read extra help.
Improved removing debug info, no -s option needed unless you want to strictly force smali v1 or v2
Reduced passes when recompressing from 16 to 11, difference is less <1kB on 16MB apk but now recompressing is faster...
2013-09-26 v1.24
Added jpe and jfif extensions to search list when optimizing jpg's which now is: jpg, jpeg, jpe, jfif.
Found and FIXED bug where files with no extension were not recompressed on -r option
ReWorked some compression code for easier reading and editing
Paths containing '!' (exclamation mark) will no longer be problem for script.
Minor code improvements...
You can now write -zo instead -zb if you like, it's easier for me =)
Updated smali v2 to 2.0b6 which can now remove debug info from some *****y classes.dex which smali 1.4.2 and 2.0b5 couldn't.
2013-09-25 v1.23
Added -j option to optimize jpg images in apk using jpegoptim
-j0 is lossless optimization and is recommended; it only strips unnecessary info from jpg (like which app is used to create it) and optimizes huffman coding
If you want to lower jpg's size even more, use -j95 which will recompress jpg's (and optimize) that are unnecessary big and only perform lossless optimization on others.
Every JPG compression guide agrees that compression level above 95 is pointless and creates unnecessary big jpg's.
I also left you choice to choose compression level between [75-100]
Reworked code for APK recompressing for easier adding of file extensions/formats that should always be uncompressed
Also added zip and lzma to that list
Improved reading Java bin path from bin/.JavaPATH
Removed "Packing PNG's" info line after optimizing pngs; don't worry, optimized png's are still packed in apk
2013-09-22 v1.22
Added -t option to sign apk with Android test certificate so you can install goptimized apk's (Java configuration required)
2013-09-13 v1.21
Further improved MT PNG optimization
Added -s2 option so you can try removing debugging info using smali/baksmali v2 beta if default v1.4.2 fails
ReWorked compression levels; Read Extra Help; -he or -hh option
Updated TruePNG to 0.4.0.8
Updated CygWin Tools
Lots of "can't remember right now" minor fixes
2013-08-15 v1.20
PNG optimization MultiThreading code optimized, should be ~30% faster now....
PNG optimization now runs with low priority so it does not interfere with other apps and can run in background (will not make flash player stutter anymore, and other apps lag), but it uses 100% CPU if you're not using it because of new MT code...
PNGZopfli code optimization
2013-07-12 v1.19
MultiThreading code optimizations
PNGZopfli updated to 1.2
I contacted author of PNGZopfli and TruePNG (http://x128.ho.ua) about some multithreading bugs in PNGZopfli for which I had to use sort of hack to work... It's now fixed in 1.2 and should be faster a bit...
Multiple ManualGO shells can be launched now as temp folder is named as apk...
Other minor fixes
2013-07-10 v1.17
NEW Feature: Removal of debug data from classes.dex using baksmali/smali; to use -b option you need to have JAVA installed and java bin path saved in /bin/.JavaPATH which is usually C:\Program Files\Java\jre[version number]\bin
Script should be failsafe, i.e. revert on default classes.dex if baksmali/smali outputs any error
You need to specify your roms API level for debug data removal. If you don't know it, use -b14. API LIST
NEW default options are: -m4 -a0 -d5 -l5
Switched -l and -k option as it seems more logical to use -l for libraries recompression and -k for keep only architecture...
Default options can be changed in /bin/.GOptimize file
NEW feature: PNGZopfli; use PNGZopfli instead PNGout in PNG optimizing chain with -zz option to save few more kB at cost ~20% more time; use both PNGout + PNGZopfli with -zb option for maximum kB savings on PNG optimizing at cost of extra ~20% more time needed for optimization
MultiThreading extended up to 16
TruePNG binary updated to 4.0.0.6
Lots of code optimization
2013-07-06 v1.15
Updated list of files that should always stay uncompressed for recompress option: png, jpg, jpeg, gif, wav, mp2, mp3, ogg, aac, mpg, mpeg, mid, midi, smf, jet, rtttl, imy, xmf, mp4, m4a, m4v, 3gp, 3gpp, 3g2, 3gpp2, amr, awb, wma, wmv.
2013-07-06 v1.14
NEW: MultiThreaded PNG optimization, made it faster x2-8 times dependable on how many cores your cpu have
NEW Features: Separate compression level for resources.arsc, classes.dex and libraries
New default options are "-m2 -a0 -d5 -l5" to use 2 threads for png optimization and recompress dex and libs with CL5 to make smaller apk as dex and libs are never accessed from apk, they are extracted on installation
In v1.14 default behaviour can be changed in /bin/.GOptimize
2013-06-21 v1.13
NEW Feature: Remove libraries not needed by your phone architecture... Why should you keep libraries for other architectures?
Example: Tapatalk_4.0.14.apk; By removing libraries not for LT18i (armeabi-v7a) APK size is reduced from 10.6MB to 7.88MB; and by further optimizing PNG's APK size is reduced to 7.49MB. That is 3.11MB of unnecessary data...
FIX: APK's were getting mis-flagged as corrupted on recompression
2013-06-04 v1.12
APK's containing zip comments were mis-flagged as corrupted after optimization
Script displays a message when no resources.arsc detected...
2013-05-30 v1.11
Script will skip PNG's with corrupted header (or invalid ones)...found in UHD 3.1 beta UxpNxtLockScreen.apk->default_wallpaper.png
2013-05-29 v1.10
Saved size on PNG Optimization is now better and correctly calculated
(On previous versions, saved size displayed was usually smaller than correct one and sometimes it displayed 0 when few kBs were saved)
Script now displays also percentage saved on PNG's
Added check for APK file to be correct type (ZIP)
Added check for APK to contain all files after optimization
BATCH scripts can now be run as administrator
FIXED: Stumbled upon error when GOptimizing eBay app, for some reason if not run as admin, some files were extracted with permission 000 which caused APK to miss some files
MISC Tweaks and Code optimization
2013-05-19 v1.04
"goptimize.sh *.apk" now works and optimizes all apk's in current directory
Treats files case-insensitive so ".PNG"'s also get optimized
Minor fixes and code rearrangement
2013-05-18
Made MiniCygwin_GOptimize_v1.02.7z which already contains all binaries and Cygwin tools. Just run GOptimize.cmd...
Latest Viber Test:
Code:
$ goptimize -j75 -pczo -d6 -b16 -s2 -l6 -k2 -e 'id' -Ei 'Viber v4.2.0.1733.apk'
[+] GOptimizing: <[ Viber v4.2.0.1733.apk ]>
|- Cleaning resources of unneeded languages...
| |- Detected required languages...: de (id)
| |- Removing unneeded languages...: Success!
| |- Attempting to assemble APK....: Success!
| +- Integrating required strings..: Success!
|- Extracting APK...
|- Optimized PNG's: 100% | Saved: 2458 kB (46%)
|- Optimized JPG's: 100% | Saved: 172 kB (42%)
|- Removing debug info with smali v2.0.3-2d8cbfe6: Success!
|- Recompressing classes.dex with CL(6)
|- Recompressing libraries with CL(6)
|- Removing libraries for: armeabi, x86
| + Keeping for: [armeabi-v7a]
+- Zipaligning APK...
19.08 MB (19542KB) => 9.33 MB (9558KB)
Note: You need to preserve 'id' language when goptimizing Viber...
Tested goptimize -j75 -pzo -q40 -e 'en hr' -Ei on CM10.2 A4.3
framework-res.apk 12.00MB -> 5.23 MB
Settings.apk 11.80MB -> 3.22MB
Mms.apk 3.34MB -> 1.67MB
Trebutech.apk 13.6MB -> 4.31MB
2014-06-26: Tested 9-patch png optimization on Facebook with 100kB extra savings and Tapatalk with 90kB extra savings. No FC's in Apps...
Reserved;
Reserved;
Reserved;
Reserved;
Reserved;
Tried by @Ainster on my ROM Pure Xperia HD for xperia Ray.. And as he reported, this makes a difference.. thanks for the tool., keep working..
Sent from my MT11i using xda app-developers app
Woah , this deserve more attention . it's a great stuff. Thank for this .
Another combination : Odex + GOptimze = Amazing speed :good:
Phillip Wu said:
Woah , this deserve more attention . it's a great stuff. Thank for this .
Another combination : Odex + GOptimze = Amazing speed :good:
Click to expand...
Click to collapse
Very true.. people are blind may be.. To not recognize this brilliant stuff.
Sent from my Xperia Neo V using xda premium
Jar files
Hi,
Thanks for the great tool, I've started playing yesterday with it and all is ok.
I've a question about *.jar files in system/framework to remove debug data from classes.dex.
I just try with framework.jar, rename it to framework.apk and it work.
It reduce the size from 4.24 to 3.30 Mo.
Push it tho the phone and it seems be ok.
Can I do that ?
For all jar files ?
Thanks - Eric
JAR files won't have images in them, but will perhaps compress a little.
As I wrote it's just to remove debug info, recompress classes.dex at -d5.
ct_moi said:
Hi,
Thanks for the great tool, I've started playing yesterday with it and all is ok.
I've a question about *.jar files in system/framework to remove debug data from classes.dex.
I just try with framework.jar, rename it to framework.apk and it work.
It reduce the size from 4.24 to 3.30 Mo.
Push it tho the phone and it seems be ok.
Can I do that ?
For all jar files ?
Thanks - Eric
Click to expand...
Click to collapse
ct_moi said:
As I wrote it's just to remove debug info, recompress classes.dex at -d5.
Click to expand...
Click to collapse
You can as long it's deodexed...
What script does for removing debug info is that it de-compiles classes.dex without debug info with baksmali and re-compiles it back with smali...
If there were none errors in the process it puts new classes.dex in apk (or jar file in your case)...
In early script version I was testing only for extension ".apk", later I added test with 7zip to check if file is zip compatible file but didn't remove the limit for .apk extension....
I will look into it for next update, maybe in a week... For incoming update I already improved multithreading for PNG optimization a bit and I reworked compression levels; as before I used 7zip compression levels which didn't differ much (1,2,3 gave same compression) because I always used 16 passes in compression which does not impact decompression, just maxes compression (and makes it slower).
New compression levels will differ in fast bytes.
Level 1 will use 4 fast bytes, L2 8fb, L3 16fb, L4 32fb, L5 64fb, L6 128fb...
An you will be able to specify custom fb (in range 3-258) like "-afb4" for using 4 fast bytes for compressing resources.arsc; "-a4" will use 32 fast bytes...
Apks with resources.arsc in size over 1024kB give nice results and start faster for me when compressed with "-a1" aka "-afb4"...
More INFO on 7zip Deflate compression levels...
Ok I make it for all the framework directory (jar and apk) and it's working great.
I've make also some apk in system, the bigger.
I try to make me a rom clean with only 1 language.
Next step will be to reduce size for unused drawable resolution.
Thanks - Eric
Hey can i flash this on my htc wildfire buzz with 2.3.7 rom?? This phone have very slow CPU and moreover got no gpu
Sent from my HTC Wildfire using xda app-developers app
sachoosaini said:
Hey can i flash this on my htc wildfire buzz with 2.3.7 rom?? This phone have very slow CPU and moreover got no gpu
Sent from my HTC Wildfire using xda app-developers app
Click to expand...
Click to collapse
FLASH??? It's not for flashing it's for use on PC.... It clearly writes in thread name [Tool][Win]...

How to enable Hebrew, Farsi, and Arabic languages on a non-Middle-East firmware

** DISCLAIMER: I AM NOT A DEVELOPER. I DO THIS AS A HOBBY AND SHARE MY FINDINGS IN CASE SOMEONE ELSE FINDS THEM USEFUL. **
** THIS WORKED ON MY DEVICE BUT IT MAY NOT WORK ON YOURS. APPLY AT YOUR OWN RISK **​
Non-Middle-East versions of Xperia Tablet Z firmware can still support Middle East right-to-left characters and languages but this option is by default disabled. Here is how to enable them.
Note: This has been tried on KitKat 10.5.1.A.0.292, Customized_UK, but it may work for other versions as well.
1- Tablet must be rooted.
2- Use a file manager app with root capabilities to navigate to /system (for example, use File Manager HD and under Settings enable both Root Explorer and Mount System Files).
3- Locate build.prop under /system and make a back up copy of it.
4- Open build.prop and find this line:
ro.product.locale.excluded=ar_EG ar_IL fa_IR iw_IL
5- With utmost caution, add # at the beginning on this line. So when you are done, the line should look like this:
# ro.product.locale.excluded=ar_EG ar_IL fa_IR iw_IL
Be super careful because if you accidentally change anything else your tablet may not boot up.
6- Reboot the tablet. Now you can go to settings, Languages, and find Hebrew, Farsi, and Arabic added to the list.
Done. Some screenshots are attached here to show you what to expect after changing the language.

"Roll your own" SKINNY MIUI - Revised 09/04/16

Skinny MIUI is all about preserving the good; Working premium drivers for Camera, CPU control, Notification LEDs, Bluetooth, FM Radio etc. while resolving what is bad in the stock offering.
All deletions assume the user has absolutely no interest in being part of the Xiaomi ecosphere. Leave now if that is not you.
This guide applies to MIUI stable versions 7.1.1 thru to 7.2.5 only. Developer, Beta or Eng versions are not good candidates.
STAGE 1:
Boot.img mods: (this is not creating a custom kernel!!!)
The stock boot.img is unpacked, init.d support added and many entries that are not relevant to our hardware removed.
Disabling lines trying to load non-existent services from init.rc, init.mt6795.rc and ueventd.rc etc. stops a bit of churning on each and every boot and frees up a bit of RAM.
There are intentionally no other tweaks contained within the boot.img. All tweaks are done in init.d scripts accessible outside the boot.img.
Note: This boot image made from 7.1.4 will work back to ver 7.1.1 and forward to 7.2.50 / 6.3.31 and is superior to the stock boot images contained in those ROMs.
At this point you can flash the modified boot.img to your phone if you already have a stock MIUI 7.1.1 to 7.2.50 installation that you are going to keep.
If you are going to do a clean install, replace the boot.img in your ROM zip file with this modified one. (backup the original first)
The boot.img is found here: (Now links to folder with all versions available)
https://drive.google.com/folderview?id=0BwdRTuyj12_yRk9Kcm1pZkxuZzg&usp=sharing
STAGE 2:
Full install:
I recommend you install my TWRP 3.02-2 version from here:
https://drive.google.com/open?id=0BwdRTuyj12_yWWp0SUpGV1pzT1k
Before installing your chosen ROM:
Check that the updater script found: \META-INF\com\google\android\updater-script is not going to install Preloader, Uboot (lk), Recovery or logo partitions. If so, edit the updater-script to prevent this happening. This is to reduce the risk of a soft-brick or being locked out of your phone.
Do a factory reset in TWRP (wipe Data, Dalvik, Cache) before installing any ROM.
Install your chosen ROM. Trying to slim down the ROM before install is an arduous affair which tends to end in bootloops so we leave the original ROM alone in this respect..
Do the install without connecting to mobile or WiFi networks and just skip at screens prompting for network connectivity and creating accounts.
Reboot into TWRP once finished with the initial Setup to avoid Recovery from being deleted on first boot.
Install an updated SuperSU zip package from TWRP recovery - V2.46 to 2.71 work equally well.
Do not install a root package other than SuperSU - most online ones are malware!
Update the outdated and incomplete Busybox installation. I have created a TWRP flashable zip to upgrade to the latest version 1.25.0. This is the second edition which has better binaries and no longer creates symlinks to busybox commands.
https://drive.google.com/open?id=0BwdRTuyj12_yd0s1QmNLRzdveFk
Now install a root capable filemanager (Root Explorer or Total Commander recommended). Open it and gain root permissions. Open /etc/perfservscntbl.txt in a text editor and edit as follows:
Code:
CMD_SET_CPU_FREQ, SCN_APP_TOUCH, 403000
CMD_SET_CPU_CORE, SCN_APP_TOUCH, 1
This will lower the number of cores used and the frequency at which it runs when a screen touch is detected (referred to as Touch Boost) Changes are activated on reboot.
Now create a file named 01_tweaks in the /etc/init.d folder. Change the permission of the file to 0755
Tips on creating scripts:
The EOL(end-of-line) characters must be in Unix format - not Windows. Make sure you are using a text editor that saves in Unix format.
Note also that many script files need a blank line at the end to work correctly. Get in the habit of always doing this whether needed or not.
Any line starting with a # character and anything after a # character on a line is not processed and is referred to as "commented out"
Script files must start with the header #!/system/bin/sh as the first line.
Init.d scripts are processed in alpha-numeric filename order hence the common usage of 01_xxx, 02_xxx format for names.
Copy these lines into the 01_tweaks file: Note: Different values for 2.2GHz cpu and freq limited operation.
Code:
#!/system/bin/sh
### Tweak Interactive CPU Governor
echo 806000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo "90 403000:80 806000:85 1326000:90 1625000:95 1950000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 32000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
echo 10000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_slack
### Tweak IO Scheduler
echo deadline > /sys/block/mmcblk0/queue/scheduler ### choose between cfq, bfq or deadline
### Enable this line if using cfq or bfq scheduler only
# echo 0 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 256 > /sys/block/mmcblk0/queue/read_ahead_kb
### Enable zram swap
# echo 1073741824 > /sys/block/zram0/disksize ### 536870912 = 512MB 1073741824 = 1GB
# /system/bin/tiny_mkswap /dev/block/zram0
# /system/bin/tiny_swapon /dev/block/zram0
### Tweak Entropy to avoid regular depletion of available pool
echo 512 > /proc/sys/kernel/random/read_wakeup_threshold
echo 1024 > /proc/sys/kernel/random/write_wakeup_threshold
#Tweak for wifi router connection issues
#echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6
### FSTRIM: Enable once after installation is finalized and then monthly ##### needs an updated busybox installation to work
# busybox fstrim /data
# busybox fstrim /cache
# busybox fstrim /system
Options: Add / replace lines to do the following:
1. freq limit a 2GHz cpu to 1781MHz (recommended setting)
echo "90 403000:80 806000:85 1326000:90 1625000:95 1781000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 1781000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1781000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
2. Full speed 2.2GHz cpu
echo "90 403000:80 806000:85 1326000:90 1664000:95 2158000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
3. freq limit a 2.2GHz cpu to 1885MHz (recommended setting)
echo "90 403000:80 806000:85 1326000:90 1664000:95 1885000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 1885000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1885000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
4. Add a limit to the maximum number of cpu cores allowed to come online (for possible battery saving maybe...)
#Limit max cpu cores available (range 2 - 8)
echo 4 > /proc/hps/num_limit_low_batt
echo 4 > /proc/hps/num_limit_power_serv
echo 4 > /proc/hps/num_limit_thermal
echo 4 > /proc/hps/num_limit_ultra_power_saving
Edit /system/build.prop. Change the line: ro.sf.lcd_density from the default 480 to a value between 400 (everything smaller, more on screen) to 520 (everything larger, less on screen) to suit your taste and eyesight. You can test this out first by issuing the wm density command in a terminal app. e.g wm density 440 will immediately change the density to 440dpi, wm density reset will put it back to whatever the build.prop setting is. Adjust the text size in Settings in conjunction with this to get the best result.
At this point you have a functional set of tweaks that are all tested and proven to provide a battery and performance improvement. There are a lot of detrimental or placebo tweaks out there so be a little bit discerning in what else you add to these tweaks - sometimes less is more. Now is not the time to load up those tweaks!
Do a TWRP backup of System, Data, Boot and NVram partition now to save your efforts up to this point.
STAGE 3:
Now its time to get Skinny: You will need an app that can uninstall and freeze system apps. I use SD Maids App Control feature for this purpose.
Warning: If you intend to use app lock, you will unfortunately need to keep some fingerprint service files. See the post below and a few before it to understand the problem. Thanks to @DarthJabba9 for his work.
I believe that app lock also disables MIUI Optimization if enabled.
http://forum.xda-developers.com/showpost.php?p=67242356&postcount=583
First phase is to get rid of the obvious bloat apps and Xiaomi in-house apps....these in the list below are safe to remove.
Tick off what you have removed and reboot each 10 or so deletions and backup, don't try to delete everything in one hit as you will end up stuck at boot.
WARNING: This removes some functionality that may be useful to some users. You either want the function or you don't - it is your finger pressing the buttons!
Some people may choose to keep the MIUI Home Launcher interface. In this case, keep MIUI Wallpaper as well.
Must keep these - Do not delete:
Updater - disable autostarts, do not freeze
Theme Manager - disable autostarts
Security (com.miui.securitycenter) - leave as-is
FwkPlugin
Network Assistant app
MiuiSDK - disable autostarts
AuthManager
Webview (update via Playstore once install finished)
Xiaomi service framework - disable autostarts, freeze app
Definitely O.K to delete list:
Wallpaper Apps:
Android Live Wallpapers
Black Hole
Bubbles
com.android.wallpaper.holospiral
Live Wallpaper Picker
Music Visualization Wallpapers
Phase Beam
Photo Screensavers
*Miui MiWallpaper * keep if also keeping MIUI Home Launcher.
Xiaomi/MTK Apps:
Analytics
Assistant
Back up Home screen layout (cloud backup)
Backup - delete if you don't use it (use TWRP instead)
Battery Warning - deleting this does not affect battery charging or display
Battery Saver - deleting this improves battery life
Blocklist (AntiSpam) - delete if you don't use it
com.miui.mipub
File Explorer - delete (you should already have a root capable file browser)
Find device - use the generic Google version if you really must, not the Xiaomi one supplied.
FingerprintService
FPCSensorTestTool
FTPreCheck
FWUpgrade
gallery (com.mfashiongallery.emag daily wallpapers)
Games
Home screen
JeejenMIUIContainer
com.securitycore.miui_t (Tencent virus scanner plugin to Security Center)
KLO Bug report
LocationEM2
Metok
MI Account
Mi Cloud
Mi Credit
Mi Drop
Mi Home
MI Service Security Framework
Mi VIP
Mi Voice
Mi Wallet
Miravision
MTKAndroidSuiteDaemon
MtkFloatMenu
MTKLogger
Music
MusicFx
Notes - if you don't use it, delete it.
PowerKeeper (Battery Saver) - deleting this improves battery life
Report Bug
Security service plugin (not securitycenter app)
SystemAd
System Launcher (Miui Home) replace with an alternative Launcher, allow autostart in Security first then delete. ADW Launcher recommended for lightweight and simple functionality (set to 4x6 looks good).
Traffic Control
Uniplay
UpgradeSys
VCalendar
Video
Voice Unlock
VoiceAssist
Weather
Weather provider
Whetstone delete app and delete folder /etc/WhetstonePermission ****Whetstone is linked with several other apps to make it hard to get rid of. It may cause some temporary FC issues - these will pass.
Xiaomi Assistant
Yellow Pages
com.jeejen.knowledge
com.jeejen.store
com.ximalaya.ting.android
com.xiaomi pass
com.xiaomi.o2o
com.xiaomi.jr
Cheetah Mobile CleanMaster SDK + Cleaner - delete
NetworkLocation (com.baidu.map.location) delete app, delete folder: /system/vendor/operator and delete corpses
Android/Google Apps:
Browser - suggest replace with Polarity Browser - minimal permissions required, Ad Blocking, lightweight and fast
Documents
Google Keyboard - replace with something lighter - Hackers Keyboard v1.38.2 recommended
Google Pinyin input
Google Feedback
Google partnersetup
HTML Viewer
Email
Mail
Pico TTS
Print Spooler
com.android.browser.provider
PacProcessor
Note: If you have apps reappear as if by magic, they are being reconstructed from cached information. SD Maid has an excellent "Corpse Finder" function that will delete the orphaned files and prevent this happening. Clear corpses after each reboot.
Second phase is to toggle off the autostarts (receivers) on the apps that do not need to start by default. This is not the same as freezing an app. Some apps will still start by themselves - do not worry too much about this.
Atci_service
Backup
Blocklist
com.mediatek.batterywarning
Download Manager
Google Contacts Sync
Google One Time Init
MIUI SDK (don't freeze)
MTK NLP Service
Notes
One Time Init
Sim Toolkit
Themes (Theme Manager)
Updater
Xiaomi service framework (should also be frozen)
Third phase is to clean up left behind folders and files
/data/miui/app/customized/ remove any app folders that you have uninstalled
/data/miui/app/noncustomized/ remove any app folders that you have uninstalled
delete folder /data/miui/mms
delete folder /data/miui/gallery
delete contents of /data/miui/cust
delete folder /etc/jeejen
delete etc/voicecommand and etc/voiceextension folders if you have removed voice related apps
delete /system/tts folder if you have removed Pico TTS
delete folder /system/etc/radv
/etc/fake_cdrom_install.iso - delete file
/etc/IAmCdRom.iso - delete file
/system/addon.d delete folder
/system/app/jjcontainer/ - delete folder
/system/app/jjhome/ - delete folder
/system/app/jjknowledge/ - delete folder
/system/app/jjstore/ - delete folder
Libs you can remove:
/vendor/lib
libfingerprint_tac.so
libfpcalgorithm.so
/vendor/lib64
libcom_fingerprints_productiontestmanager.so
libcom_fingerprints_sensor.so
libfingerprint_tac.so
/system/lib
libcaFingerPrintShared.so
libcom_fingerprints_service.so
libfamily_jni.so
libjeejenAisound.so
libjeejenmsc.so
libMiraVision_jni.so (if deleted MiraVision App)
libpatcher_game_jni
libvoicerecognition.so (if voice recognition apps deleted)
libvoicerecognition_jni.so (if voice recognition apps deleted)
libweibosdkcore.so
libwhetstone_jni.so (if deleted Whetstone App)
libwhetstone_sdk.so (if deleted Whetstone App)
libxiaomimediaplayer.so (if xiaomi media player deleted)
libxiaomimediaplayerwrapper.so (if xiaomi media player deleted)
/system/lib64
libairtunes_jni.so
libairtunes.so
libBankCardRecognizer.so
libcaFingerPrintShared.so
libcom_fingerprints_service.so
libduokantext.so
libjni_latinimegoogle.so (if deleted Google keyboard)
libjni_pacprocessor.so (if deleted PacProcessor)
libMiraVision_jni.so (if deleted MiraVision App)
libpatcher_game_jni.so
libttspico.so
libweibosdkcore.so
libwhetstone_jni.so (if deleted Whetstone App)
libwhetstone_sdk.so (if deleted Whetstone App)
libxmpass_sdk_patcher.so
xmpass_libweibosdkcore.so
Establish network connectivity.
If Gapps is required but not installed, download open_gapps-arm64-5.0-pico version. You can install individual extra Google apps at any stage later on.
Go through all MIUI Settings and turn off everything you do not need running.
Install your favorite media player, web browser etc. to replace the deleted original apps.
Can replace Calendar and Messenger with Google Calendar and Google Messenger to remove some more Xiaomi dependencies. Contacts & Dialer are much harder to replace - True Phone is the only viable option.
To further limit Xiaomi unsolicited communications, rename (or delete) /system/xbin/tunman to tunmanbak. (This is a tunneling protocol driver that Xiaomi uses without your knowledge or permission).
The startup is disabled in the boot.img but it can still be started after boot unless renamed.
To skinny the Themes footprint:
Go to /system/media/theme/
Delete elder-default folder if no use.
Delete entire contents of miui_mod_icons folder
Delete items in /system/media/theme/default/ that are not going to be used.
Delete items in /system/media/lockscreen/ and /system/media/wallpaper/ that are not going to be used.
Now install your favorite app for monitoring CPU parameters and make sure that on idle, there is only one cpu core running and it sits predominantly on 403MHz. It will jump a little bit but that is normal with the inevitable background activities. Increase the timer_rate if you want more stability at idle rather than cranking up the load figures too far. Up to 50000 or down to 30000 is O.K (remember we are talking microseconds here so 50000 = 50mS)
Congratulations! You now you have a "Super Skinny" MIUI installation. Do a backup now!!!!
Now you will feel the AOSP shining through - and still you have working everything!
This post will list useful tools and items that need further investigation.
Apps for finding and disabling things:
Wakelock Detector-Root - monitor and records wakelock activity
GSAM - monitors what apps / services are consuming battery
Disable Service - disable services started on an app by app basis
SD Maid, Titanium Backup - Freeze / remove apps, toggle autostarts (receivers)
Modify your quick start grid size:
https://drive.google.com/file/d/0BwdRTuyj12_yYlphU3A0UWprcXc/view?usp=sharing
Modify MIUI Homescreen grid:
https://mega.nz/#F!yJdkxbBa!WSIqrhwUQwD7qjzxOuo1Yw
Issues:
Find a way to completely disable XMPush service with and without Xiaomi services framework installed.
Xiaomi Services Framework causes Sim connectivity issues if deleted - do not delete. There will always be one XMPush instance running.
Find out what is causing Audio On wakelock reported by GSAM
Quote: Originally Posted by DarthJabba9
With regard to the "Audio On" wakelock (aka AudioMix Wakelock) reported bt GSAM, I found this somewhere in this forum: "The nexus 6 had the same wakelock and most of us got rid of it by unchecking "use NuPlayer" in developer options". I have now unchecked that option, and will see over the next day or so whether it resolves the problem. This appears to be the fix
What triggers no sim / no service errors
Removing Xiaomi Services Framework is the culprit
Why do some files / folders not show up in root filemanagers?
MIUI locks the files / folders to prevent them being used or shown.
Why does zram not work anymore?
Rename tiny_mkswap, tiny_swapon, tiny_swapoff to teeny_mkswap, teeny_swapon, teeny_swapoff
Make sure owner is root shell and permissions are 0755 for all 3 files.
edit the init.d script to reflect the change in filenames. Now it will work again!
Example full Skinny ROM based on MR7.2.30 ID:
This is how my phone is set up, it has 100% functionality, zero FCs and zero battery drain on idle. The init.d settings are exactly as provided. Compare the directory listings to your own to see what is deleted.
The other major variation to this is for people who want to keep MIUI Launcher (and MIUI Wallpaper), everything else should remain the same. This cost you a bit more RAM usage and slightly more cpu activity (less battery) but is still impressive compared to stock.
/system/app
ApplicationsProvider
AtciService
AutoDialer
BSPTelephonyDevTool
Bluetooth
CaptivePortalLogin
CertInstaller
DeskClock
DownloadProviderUi
DrmProvider
EngineerMode
EngineerModeSim
FM
GoogleCalendarSyncAdapter
GoogleContactsSyncAdapter
KeyChain
MTKThermalManager
MiuiCompass
NetworkAssistant2
NlpService
Omacp
PackageInstaller
Provision
SuperSU
SystemHelper
ThemeManager
Updater
UserDictionaryProvider
WebViewGoogle
XiaomiServiceFramework
YGPS
cit
mcRegistry
miui
miuisystem
/system/priv-app
AuthManager
BackupRestoreConfirmation
BarcodeScanner
CDS_INFO
CalendarProvider
ContactsProvider
DefaultContainerService
DownloadProvider
ExternalStorageProvider
FusedLocation
GoogleBackupTransport
GoogleLoginService
GoogleOneTimeInitializer
GoogleServicesFramework
InCallUI
InputDevices
ManagedProvisioning
MediaProvider
MiuiCamera
MiuiGallery
MiuiKeyguard
MiuiSystemUI
MmsService
OneTimeInitializer
Phonesky
PrebuiltGmsCore
ProxyHandler
SecurityCenter
Settings
SettingsProvider
SharedStorageBackup
Shell
Stk1
TeleService
Telecom
TelephonyProvider
VpnDialogs
WallpaperCropper
com.ghisler.android.TotalCommander ### Total Commander installed as system app
com.hb.dialer.free ### True Phone replacement for Xiaomi Contacts & Dialer
org.adw.launcher ### ADW Launcher installed as system app
Other base apps in /data/app:
com.google.android.apps.messaging ### replacement Google Messenger
com.google.android.calendar ### replacement Google Calendar
com.duokan.phone.remotecontroller ### stock IR remote controller app
pcr.browser.polarity ### Polarity Browser
com.grarak.kerneladiutor ### Kernel Adiutor * disable autostarts*
org.pocketworkstation.pckeyboard ### Hackerskeyboard-v1.38.2 replaces Google keyboard
jackpal.androidterm ### Android Terminal
Thanks a bunch for the info. This is exactly what I'm looking for (my slimming down attempts always resulted in bootloops, so I've been playing it pretty safe so far).
Is this something you repeat every time an update is being pushed to your RN2?
@elaurens By doing this you are forgoing the use of OTA Updates which will unravel everything you have achieved.
I had to go through quite a few bootloops before creating the "safe lists" - I suffer so you can all benefit.
If you are starting with 7.1.4 everything is perfect and needs no more updating
Keep your eye out for additions to these lists as I discover or remember them
I have tried this:
http://forum.xda-developers.com/red...d-enable-clearmotion-miui-based-roms-t3278552
to enable ClearMotion and can vouch for it being safe - as in no malware and no breaking things. It adds the following to Build.prop and puts some hacked drivers in /system/lib.
persist.sys.display.clearMotion=1
persist.clearMotion.fblevel.nrm=255
persist.clearMotion.fblevel.bdr=255
ro.mtk_clearmotion_support=1
ro.mtk_slow_motion_support=1
ro.mtk_16x_slowmotion_support=1
Is this a worthwhile thing to do? There are no negatives in doing so as far as I can see but I don't really have anything that can give this a proper workout.
Can anyone see a difference in video playback? (Must have hardware acceleration selected) I won't recommend this if there is no perceivable gain.
most of the stuff works fine, everything checks out, It's not really anything new, but i find it well written, and it's not just a "placebo build.prop tweaks edit" which is a +. its a smart thing to have it all in a single thread.
however there're some issues with init.d script. even if you get init working, sometimes it just simply wont apply any of the tweaks. interestingly enough, i forced it to create a new text file on every boot, and that works. not really sure whats causing this prob.
anyways, by some magic I eventually made it apply the script, not really sure if it was cause of the rom change, or just pure luck lol
@sikica133 and anyone else having init.d problems:
init.d problems are usually one of the following:
1. incorrect folder permissions.
2. incorrect file permissions
3. No line feed at the end of the file (blank line)
4. incomplete or missing Busybox install
5. missing header in the text
6. Loosing SU privileges
Check init.d folder has 0755 permissions
Check file has at least 0644 permissions
Check and/or insert a line feed at the end of the file
Install busybox on rails, run the cleanup and busybox install, uninstall busybox on rails after this (this gives you an up-to-date and more complete busybox installation)
First line of file must be exactly #!/system/bin/sh
Reinstall a fresh version of SuperSu through TWRP
I sometimes get caught out myself by editing a file on the PC and transferring it back without fixing permissions afterwards:silly:
I have the ultimate build.prop tweak that I will share with you all now, stand back, it is very powerful
persist.sys.use_qualcomm_performance_features_instead=1
nah, i was testing it with a updater-script doing 0755 on all scripts. busybox should be fine cause other scripts did their job. dunno, could be some funny issue on my end. works now, i was just wtf, everything works, this doesnt. no idea what was going one tbh, but it works
could be incompatibility with bbox and the script itself? im running it without feedline atm, and it applies it all. same script i used before when it didnt do anything.
MIUI 7.1.4 and I assume all other versions has a very old and incomplete version of busybox installed (I think it was v1.20?).
It does not have fstrim command (plus a few others) included which is why I recommend updating.
I tried init.d and 01_tweaks script (whith correct permissions).
The system is more time in 806 Mhz., deep sleep not works properly.
I use Stable 7.1.1 .
Deleting script, deep sleep works fine.
Need I install or update busybox for resolve my issue?
@Xabadou This script is the starting point. If you do not "skinny down" MIUI, there are so many things running in the background that you will find it difficult to sit on idle frequency.
How far into skinnying down have you gone?
Also, if you have a 2.2GHz cpu, the 2nd line below frequencies in bold must be modified to valid frequency for that cpu.
If you are not going to skinny down to a great extent, then it helps to bump some of the load settings up a touch.
These are the original lines:
echo 80 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 90 403000:70 806000:81 1183000:84 1326000:87 1469000:90 1625000:93 1781000:96 1950000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
# for 2.2GHz cpu: echo 90 403000:70 806000:81 1183000:84 1326000:87 1482000:90 1664000:93 1885000:96 2158000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
Modify to:
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 95 403000:75 806000:81 1183000:84 1326000:87 1469000:90 1625000:93 1781000:96 1950000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
This is enough to get it to sit on 403MHz idle in most cases. If you go higher, you will start compromising smoothness. There are no problems at all with entering deep sleep.
If you are still having problems, you have an app running that is badly behaved - identify it and deal with it.
Refer back post #10, I mention why you should upgrade busybox.
I am running my phone beyond Super Skinny and loving it. Super stable and battery friendly while still being a performance beast. You should notice even at the point of trimming down to Skinny, this phone really starts to liven up.
jajk said:
I am running my phone beyond Super Skinny and loving it. Super stable and battery friendly while still being a performance beast. You should notice even at the point of trimming down to Skinny, this phone really starts to liven up.
Click to expand...
Click to collapse
Do you have a list of the apks (and directories) that you deleted in order to get the skinny ROM? Such a list would be useful for writing a script to automate the task.
P.S.: you might have noticed that I am a script fanatic - I generally find that it is less error-prone to automate such tasks with a script - and you only need to get the script right once.
I use stable 7.1.1 by xiaomi.eu whith your modded kernel and a lot of apps frozen (App Quarantine).
Modified kernel works very good.
Just now I have updated busybox.
I have 2.0 ghz version.
I will try again the script.
Clear Motion mod works fine in MIUI roms but you must use MX Player for play videos.
---------- Post added at 01:20 PM ---------- Previous post was at 01:11 PM ----------
persist.sys.use_qualcomm_performance_features_inst ead=1
Works qualcomm tweaks whith mediatek processors?
@DarthJabba9 The lists ares already mentioned - 1 to get to skinny, 1 to get to super skinny but if you do this in a script on a live system you will likely end up in a bootloop because there are too many odex and cache entries orphaned for Android to handle in one hit. If you intend to apply a script to the ROM files before installation, that is a different story. It takes a bit of effort to figure out how and where MIUI is loading a lot of its components from but is doable.
Why I have not offered a complete ready to go package? It is too easy for users to do it themselves and add their preferences along the way. For those that have actually followed through with the process, I can guarantee that they will instantly loose interest in any other custom ROM.
@Xabadou Thanks for the clarification on ClearMotion. I run VLC set to hardware acceleration and can't see the split screen test mode. Video looks fine regardless, so really hard to tell if anything has changed.
Do the apps that you quarantine stay not running? I had problems with quite a few apps running regardless of being frozen or not so had to uninstall.
You, along with everyone else are not running a modified kernel - the kernel remains intact since we do not decompile and recompile or compile it from source.
The "persist.sys.use_qualcomm_performance_features_instead=1" tweak is a sarcastic dig at the many tweak offerings that do absolutely nothing:silly:
You asked the question showing you were not ready to accept this at face value:good:
If there is no evidence of a tweak doing something positive, don't blindly use it!!!
This is a customized boot image that provides init.d support and has unnecessary entries removed. No tweaks are embedded.
It is built on 7.1.4 and can be used on stock 7.1.1 to 7.1.4.
https://drive.google.com/file/d/0BwdRTuyj12_yR3phb0Zxd05UQjQ/view?usp=sharing
credits to @DarthJabba9 for the alternate init.d support method adopted in this image. It circumvents using busybox run-parts method that appears to have some bugs.
jajk said:
@DarthJabba9 The lists ares already mentioned - 1 to get to skinny, 1 to get to super skinny but if you do this in a script on a live system you will likely end up in a bootloop because there are too many odex and cache entries orphaned for Android to handle in one hit. If you intend to apply a script to the ROM files before installation, that is a different story. It takes a bit of effort to figure out how and where MIUI is loading a lot of its components from but is doable.
Why I have not offered a complete ready to go package? It is too easy for users to do it themselves and add their preferences along the way.
Click to expand...
Click to collapse
Fair enough ...
jajk said:
I will share my custom Super Skinny MIUI boot.img based on MIUI7.1.4 since it is now stable ... It is unpacked and repacked using AndroidMasterChef (downloaded from Needrom). I do not have problems unpacking and repacking again. If you try to unpack and have problems, use the same tool.
Click to expand...
Click to collapse
Thanks for the image. It cannot be unpacked with standard linux tools, but it unpacks ok with AndroidMasterChef.

Categories

Resources