Related
Can I have the Reboot option (Reboot to ClockworkMod, Reboot to download and Reboot) on the Power Menu of stock Gingerbread. I've seen methods to add for other devices; modding framework-res or android.policy.jar, none for the stock Tab. So I'm wondering if it's possible? Can someone please give me directions please...Thanks
Hi all,
In this thread, I will try to share the knowledge I have on deodexing, making custom ROMs, modifying initramfs, building kernel and much more.
Please check the below posts for each of these tutorials.
Hope this opens doors to many new ROM and Kernel developers.
NOTE: THESE TUTORIALS ARE WRITTEN FOR I9100G. WILL NOT WORK ON OTHER DEVICES. I DON'T TAKE ANY RESPONSIBILITY IF YOU MESS UP AND BRICK YOUR DEVICE OR ANYTHING ELSE. USE AT YOUR OWN RISK.
Deodexing Stock Rom
For GINGERBREAD ROMS:
What you need to have:
xUltimate v2.3.3 - you can download it HERE (Thanks and Credits to Xeudoxus for this awesome app)
Rooted kernel with busybox
JDK installed on your Windows system
If adb is not available in your windows PC, in xUltimate folder open "jar" folder. You'll find adb there.
Extract stock app & framework folders and Deodex:
Connect your device to computer.
Start xUltimate (double-click on Main.exe)
Select option 1. (Pull /system/app)
Once option is done, select option 2. (Pull /system/framework)
In the same folder, now you'll see two new folders (origi_app, origi_frame)
For I9100G, go to origi_app folder and delete apk and odex files of Maps, PhoneSky and VoiceSearch.
Select option 3 in Main menu (Deodex /system/app)
Once its done, select option 4 in Main menu (Deodex /system/framework)
DONE!!
Now you'll see two new folders done_app and done_frame.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy done_app and done_frame folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /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/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Now you've deodexed app and framework.
For ICS ROMS:
For ICS Roms, the process is quite easy. (Thanks and Credits to jaydvn.)
Download the attached zip file.
Extract it on your windows PC.
Copy your /system/app to _app folder
Copy your /system/framework to _framework folder.
Run AutoDEOToolMain.bat
Follow the instructions.
deodexed jars and apks will be found in deodexed_APK and deodexed_JAR.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy deodexed_APK and deodexed_JAR folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/deodexed_APK/* /system/app/
[*]busybox cp /sdcard/deodexed_JAR/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Done.
Other references:
How to deodex ICS roms by samyam2002000
Enjoy.
Building Kernel
Okay. Let's learn how to build kernel for our I9100G. There are many ways to build. I am just presenting here the way I build and make kernel.
NOTE 1: Follow the instructions exactly.
NOTE 2: Kernel is opensource. If you make any changes to it, you're expected to share your source. (Usually people share it over github )
NOTE 3: FLASHING KERNEL IS RISKY AND DANGEROUS. BE CAREFUL. BUILD AND FLASH ON YOUR OWN RISK.
What you need to have:
Ubuntu 10.04 and above (I use 10.04 )
ARM tool chain (Download HERE. Click on IA32 GNU/Linux TAR under Advanced Packages)
Samsung's opensource kernel for I9100G (Download HERE. Go to Mobile->Mobile Phone-> Select I9100G and download the zip)
Setting up toolchain:
Extract the tar you downloaded(Suggestion: Extract to one folder where you can have everything. In my case /home/superatmos/build_kernel).
After extracting, you'll see a folder named arm-2010q1. Inside there will be many folders (ex. bin, lib and so on.)
Folder structure will be: /home/<your_name>/build_kernel/arm-2010q1
Setting up kernel:
Extract the zip you've downloaded from samsung's opensource.
You'll find two zips.
Extract GT-I9100G_Kernel.tar.gz to /home/<your_name>/build_kernel/
Folder structure: /home/<your_name>/build_kernel/GT-I9100G_Kernel
Setting up initramfs:
Samsung's zImage is divided into two parts: Opensource kernel (which you downloaded from samsung's website) and initramfs (which is root file system to boot up the device).
I am providing my initramfs HERE. (You can use it as it is or modify it. But give credits to me. )
Extract the downloaded zip and copy it to /home/<your_name>/build_kernel/
Folder structure: /home/<your_name>/build_kernel/initramfs
Now the entire setup is ready. Let's start modifying kernel configuration.
Setting up kernel config:
Go to /home/<your_name>/build_kernel/GT-I9100G_Kernel/arch/arm/configs folder.
Copy t1_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100G_Kernel/).
Rename t1_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100G_Kernel/).
Modify the below lines (I guess line 195 and 196).
Code:
ARCH ?= arm
CROSS_COMPILE ?= /home/<your_name>/build_kernel/arm-2010q1/bin/arm-none-linux-gnueabi-
Save and close.
Modifying kernel configuration:
Now open .config file(which you renamed). If its not seen, it might be hidden. Go to View->Show hidden files and there you go.
Do the below things:
Adding local version:
Change CONFIG_LOCALVERSION=" " to anything you like. I add this way:
CONFIG_LOCALVERSION="-I9100G-superatmos"
Adding initramfs path:
You need to let kernel know the path from which it needs to take initramfs.
Change CONFIG_INITRAMFS_SOURCE=" " to ../initramfs (In this tutorial it's the path. If you had copied anywhere else, give the path properly).
Enough for now. Once you get experience, you can modify many configurations as per your liking and save. This configuration can be changed by GUI too with the command make menuconfig.
The Important part: Building the kernel:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100G_Kernel/
Type make.
THAT'S ALL. YOUR zImage is ready and is available in /home/<your_name>/build_kernel/GT-I9100G_Kernel/arch/arm/boot/zImage.
Install the zImage on the device:
Go to the path where zImage is present and type the below line in command line.
Code:
tar cvf I9100G_kernel.tar zImage
Flash the tar using odin.
DONE. CONGRATULATIONS. NOW YOU'VE YOUR OWN KERNEL.
Other references:
Building Kernel by bedalus
How to compile your first Nexus Kernel by djjonastybe
Give me your feedback so that I can improve this tutorial. And post here about how your build went. All the best.
Making custom ROM
Let's move on to make a custom ROM.
Inputs/Feedback/Suggestions are more than welcome. Lets improve this tutorial together for the betterment of the android community.
Steps involved in making a custom ROM:
Getting the system dump from the device.
Deodexing app and framework folders.
Creating various mods by modifying framework and system files.
Modifying build.prop and adding tweaks.
Making META-INF folder and writing an updater-script (edify scripting).
Signing the ROM and making a flashable zip.
Folder Structure:
Before going forward, let's follow the below structure folder to make the tutorial more understandable.
Let our ROM name be CustomROM. The folder structure will be C:\Users\<your name>\CustomROM.
Let's move step by step. Are you ready??
<b>Getting the system dump from the device:
</b>
Make sure USB debugging is ON and connect your device to the PC.
Open command prompt on your windows PC and go to CustomROM folder path.
Type adb devices. You should be able to see the device detected. (If not check environmental variables whether adb is in system path or not. If not present, add the adb path.)
Type the below command to get the dump of system folder.
Code:
adb pull /system system/
Now inside the folder CustomROM, you should be able to see system folder with many folders like app, etc, framework etc inside.
Done with first step.
<b>Deodexing app and framework folders:
</b>
Look HERE how to deodex app and framework folders. Copy the app and framework folders to xUltimate folder, rename them to origi_app and origi_frame and follow the given link to deodex.
NOTE: After deodexing, merge origi_app folder with app folder under C:\Users\<your name>\CustomROM\system\app and origi_frame with framework folder under C:\Users\<your name>\CustomROM\system\framework.
<b>Creating various mods by modifying framework and system files
</b>
Okay. This the section where your hardwork, innovation and talent comes in. You can use the mods available already, create your own mods, port various mods from other devices and so on.
Below is a list of various mods which can be ported on to I9100G. All the credits go these respective thread owners. Thanks to them.
Lidroid 14 toggle mod
Extended power menu with/without header
CRT Off Animation & SIP Over LTE/HSPA
Swipe to remove notifications
NOTE: Let me know more mods with links so that I can add here.
<b>Modifying build.prop and adding tweaks
</b>
Okay. This is one of those files where you name your ROM(to be visible in settings. ) and add many tweaks.
To name your ROM (to be visible in settings), change the below code.
Code:
ro.build.display.id=CustomROM v1.0
Check the below links for many other tweaks. All credits go to respective thread owners. Thanks to them.
build.prop tweaks by TheFrankenstain
build.prop tweaks by dhlalit11
<b>
Making META-INF folder and writing an updater-script (edify scripting)
</b>
Once you're done with all the modifications, mods and additions, its time to create META-INF folder and make the updater script. Once the user flashes the ROM zip, this is the script that runs and does everything written inside the script. PLEASE BE CAREFUL WITH THIS. TAKE REFERENCE FROM OTHER (SAME DEVICE) ROMS' UPDATER-SCRIPT. (In this case, take reference from other GT-I9100G roms.)
Check the below links for tutorial and how-to on writing edify script and making updater script. All credits go to respective owners of the threads. Thanks to them.
Edify Scripting, Making Flashable ZIPs, ZIP Signing & Key Creation
Edify Scripting Notes
How to Write an Updater-Script with Edify Code
Edify Installation Script Syntax's
NOTE: system folders path, boot/kernel partition path, modem partition path and so on are COMPLETELY DIFFERENT for DIFFERENT DEVICES. Check the partitions for your device properly, carefully and then work on updater-script. TAKE HELP OR REFERENCE FROM OTHER ROM DEVELOPERS FOR YOUR DEVICE.
Lets move on to last step. Making a signing and making a flashable zip.
<b>Signing the ROM and making a flashable zip
</b>
Make sure, now you should be able to find two folders (META-INF and system) inside C:\Users\<your name>\CustomROM.
Check in THIS thread for test signing your ROM. It WORKS with GT-I9100G. TESTED.
or Check THIS thread to create your own signing key and certificate.
Now you're done with making a custom ROM. Hope to see more custom ROMs from many users.
For porting ROMs, refer THIS tutorial. (thanks and credits to ayushrox)
Give me your feedback so that I can improve this tutorial. And post here about how your custom ROM making went. All the best.
Root and busybox
If you don't want to modify anything else except to have root and busybox for the stock rom, Check the below link.
How to ROOT/UNROOT your I9100G via Stock Recovery (Credits: Ryuinferno)
GOt error wHILE DEODEXING USING XULTIMATE
galaxy sl STOCK ROMS ARE MUCH BETTER THAN g
Starting Email.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find sup
erclass Ljava/awt/Component;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPa
th.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:
668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280
)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:16
3)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.j
ava:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:105)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lgnu/activation/viewers/ImageViewer; from file .\origi
_app\Email.odex
Error while loading ClassPath class Lgnu/activation/viewers/ImageViewer;
Press any key to continue . . .
tarunagg said:
GOt error wHILE DEODEXING USING XULTIMATE
galaxy sl STOCK ROMS ARE MUCH BETTER THAN g
Starting Email.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find sup
erclass Ljava/awt/Component;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPa
th.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:
668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280
)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:16
3)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.j
ava:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:105)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lgnu/activation/viewers/ImageViewer; from file .\origi
_app\Email.odex
Error while loading ClassPath class Lgnu/activation/viewers/ImageViewer;
Press any key to continue . . .
Click to expand...
Click to collapse
Which version of xUltimate you're using? only x2.3.3 supports GT-I9100G. Please follow the steps I mentioned above and you should be able to deodex.
ok will try that version also
superatmos said:
Which version of xUltimate you're using? only x2.3.3 supports GT-I9100G. Please follow the steps I mentioned above and you should be able to deodex.
Click to expand...
Click to collapse
Sent from my GT-I9100G using XDA App
Does this script work for ICS odexed apk's?
zylor said:
Does this script work for ICS odexed apk's?
Click to expand...
Click to collapse
I am not sure about it since I never tested myself on ICS since its not yet released for I9100G.
tarunagg said:
ok will try that version also
Sent from my GT-I9100G using XDA App
Click to expand...
Click to collapse
Did you try? Were you able to deodex using this tutorial?
next action
manage to deodex using above step.
once deodex what is the next action?
[email protected] said:
manage to deodex using above step.
once deodex what is the next action?
Click to expand...
Click to collapse
After deodexing, did you push deodexed app and framework folder back onto device? (third section of deodex post). If done, then you can apply themes to it, use apks of other roms and so on.
Enjoy.
hey superatmos have u tried the dsiXDA kitchen with our phone
samyam2002000 said:
hey superatmos have u tried the dsiXDA kitchen with our phone
Click to expand...
Click to collapse
No. Not yet. Will try it and check whether it works with I9100G.
waiting for the rest of it patiently. hope u get time quite soon
samyam2002000 said:
waiting for the rest of it patiently. hope u get time quite soon
Click to expand...
Click to collapse
Yes. Very soon. Keep your linux environment ready to build your own kernel.
Always Got Error
Starting Maps.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find int
erface Landroid/view/MenuItem$OnActionExpandListener;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadAllImplementedInte
rfaces(ClassPath.java:823)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:
683)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280
)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:16
3)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.j
ava:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:111)
at org.jf.baksmali.main.main(main.java:282)
Error while loading class Lcom/google/googlenav/actionbar/d; from file .\origi_a
pp\Maps.odex
Error while loading ClassPath class Lcom/google/googlenav/actionbar/d;
Press any key to continue . . .
tarunagg said:
Always Got Error
Starting Maps.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find int
erface Landroid/view/MenuItem$OnActionExpandListener;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadAllImplementedInte
rfaces(ClassPath.java:823)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:
683)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280
)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:16
3)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.j
ava:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:111)
at org.jf.baksmali.main.main(main.java:282)
Error while loading class Lcom/google/googlenav/actionbar/d; from file .\origi_a
pp\Maps.odex
Error while loading ClassPath class Lcom/google/googlenav/actionbar/d;
Press any key to continue . . .
Click to expand...
Click to collapse
Please read the instructions. I mentioned to remove (Maps.apk, Maps.odex, PhoneSky.apk, PhoneSky.odex, VoiceSearch.apk and VoiceSearch.odex). These files give issue while deodexing I9100G.
Building kernel section updated
Hi,
Building kernel updated in 3rd post. Start building your own kernel.
I created a separate thread for KITKAT 4.4.2. OFFICIAL version have been realeased for Alcatel One Touch / TCL S950 Idol X starting from BUILD 1008. This ROM is official for TCL S950 mobile IDOL X but working perfectly with Alcatel One Touch Idol X because they are the same hardware (only different brand).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I am following this Chinese Thread and this russian forum 4PDA for reference.
I am not taking credits for this work. Im just sharing these to those who can't download from the chinese forums / russian forum.
DOWNLOAD AND INSTALLATION
Well, I assume this is not the first time you will flash your phone.
If not... I will make a tutorial or provide links on how to flash using SP Flash Tool / Flashtool Mod.
Anyway lets start!
First you have to download the KITKAT ROM to be installed to your device. Extract it and put it a convenient location like on your desktop. Download the Philz Touch Custom Recovery and extract it to desktop. Now we are ready to [email protected]!
Run Flashtoolmod / SP Flash Tool
1. Load SCATTER FILE from the folder where you extracted the ROM.
2. Manually select CUSTPACK.img
3. Click the RECOVERY and select the location where you extracted the custom recovery.img file.
4. Make sure that PRE-LOADER and MOBILE INFO are not chosen (UNCHECKED)!
5. Click DOWNLOAD.
6. Turn OFF your phone (wait for the device until it vibrate) then connect your device via USB.
7. Wait for the Green Circle. Flashing is done! Turn ON your phone.
IMPORTANT!
After successful flashing, ROOT you device by flashing SUPERSU via Recovery.
Download SuperSU 2.01
*****DO NOT EXTRACT and put it inside the phone storage*****
*****reboot into RECOVERY*****
*****go to ADVANCE FUNCTIONS*****
Code:
Sdcard target: /data/media/0 [B]SHOULD GET[/B] /data/media
*****restart to take effect. (GO BACK > POWER OPTIONS > REBOOT RECOVERY)*****
*****go to INSTALL ZIP > CHOOSE FROM SD CARD and chose the supersu.zip file*****
*****after flashing is done WIPE CACHE and DALVIC CACHE*****
BUILD VERSIONS:
1009S950_KK442_150123
- Optimized calls time standby screen lights up
- After power restoration power display shows the power is inconsistent with the start charging before the percentage
- Fixed in the camera screen, press the power button to light up the screen lock screen and then press the return key does not return to idle screen directly
- And more added to the firmware WhatsApp
1008 S950_KK442_010415
Optimized weather pattern clarity
flashlight brightness optimization problem too dark
wallpaper optimization problem is slow to load
optimization switch machine animation for TCL dynamic effects
1007 S950_KK442_121914
Optimization Night and low light conditions, reducing the ISO values camera flash mode automatically improve photo realism
Repair equalizer button in the music player comes with software problems missing
Radio does not work to fix the problem properly
1006 S950_KK442_121214
Save the picture prompt repair the wrong question
to repair the memory capacity to import contacts from SD card or phone to your Gmail account will be force close issue
repair call runs in the background, entering the video player click the play button again, the video can be playback problems
1005 S950_KK442_112814
After repairing the opening and closing flight mode execution, SIM cards can not be registered to network problems
Repair few phone prompts low battery shutdown shutdown, a night without charge and then boot, power display allowed the problem
to repair after few phone long standby, power-down and fast Problem
fixes phone signal to identify the different state does not comply with Andrews KitKat style
shooting photos after the repair is no problem marking the best photo
restoration SMS notification option in the setup menu is not in the same issue of individual columns of
a particular repair set contact ringtone unsuccessful problem
repaired minority received phone messages event time is not accurate
to optimize the accuracy of the G-sensor to work
off the charging animation shows the percentage increase in the mark
1004 S950_KK442_111414
※ repair the lock screen missed calls, call recording time Sort confusion
※ repair set specific ringtone to a contact, the preview does not sound problems ringtones
※ repair MMS is limited to 300KB maximum
※ when repairing a new contact or group, the screen flashes problems
※ part iron should recommend that this new Google service S950 software version, which is built into ROM package google all relevant apk. This version is for iron users want to experience the full version of the system, not like friends can continue Lite experience.
1003 S950_KK442_1031
optimized view pictures in the gallery or photo display black box problem
optimization in power saving mode Tips user can not adjust the screen brightness
to optimize the phone battery from the charging rate of 99% to 100% of the [repair] repair restart the phone switch Animation anomalies close power saving mode after the repair, the phone all set to return to the previous repair to enter a short message interface occasionally stops unexpectedly problem [New] Super Hero N3 additional notes gadget can be freely written record of daily life and improve the experience of large-screen phone
1002 S950_KK442_101714
Bluetooth headsets optimized quality
optimized interface under horizontal screen display and operating experience
on the phone keypad to optimize the user experience vibration feedback
Click to return to the recording screen repair button issues arise unexpectedly stopped
repairing the problem is not synchronized data roaming
repair long press an invalid key issues be set up
to repair the problem automatically dim the screen brightness does not turn on after a power saving mode
clock repair problems in the fields displayed in English
1001 S950_KK442_092614
Hang up the phone after the repair menu does not automatically hide problems
Recovery from backstage back recorder interface, recording interface confusion
Repair input method selection box and calls the interface layer order problem
Repair Clear recent apps, quit recording application problem but the recording icon is still displayed
After the repair call back, call icon and lock screen still shows missed calls Tips
Click on an image to enlarge Repair, picture appears beating problem
After repairing burst mode using slide view unresponsive problem
Repair view pictures and turn the screen, the status bar disappears problem
Repair Music delete screen appears black box problem
Some repair teleconference interface content display is not clear question
Repair time translation app for
Repair entering FM problem does not automatically play again
Tip no vibration problem repair calls
UI interface display optimization settings
Optimized write email recipient address pop-up box size
Known issue, set the interface to add google account will flash back, subsequent versions will repair
XDA:DevDB Information
Kitkat 4.4.2 for Alcatel OT 6040D / TCL S950 Idol X, ROM for the Android General
Contributors
bryanjay420, BZzzz3, All the people fro 4PDA forum
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Kitkat 4.4.2
Version Information
Status: Stable
Current Stable Version: 01009
Stable Release Date: 2015-01-23
Created 2014-10-25
Last Updated 2015-08-20
Custom ROMS for KITKAT
Code:
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
AOSP IDOL X 4.4.2
Original Thread from 4PDA
CHANGELOG:
v.1
- Naked android
- Xposed gravity box and work (when you install the unlock button on the volume sometimes decreases the brightness)
- The core of the port dimkin
- Installation of an ordinary memory layout
- To work as root, you need rekaveri a whale cat (the one in the header)
- I once fell off Route (problem was solved by installing a super su from under rekaveri)
- Threads are applied using xtheme
- Patch to disable the lower touch button works
- All perky and shustrenko))
v1.1
- Phone with Russian language
- The camera now works
- Improved scrolling
- Added application control
- Gallery and the camera from Lenovo
- A bit blind to file
- Improved multi-tasking
INSTALLATION:
The firmware is present with Aroma Installer, all installation through it.
Put the ROM.zip file on your PHONE STORAGE
Reboot to RECOVERY
In Recovery go to WIPE AND FORMAT OPTIONS
Click CLEAN TO INSTALL NEW ROM
After finished wipe chose INSTALL ZIP then CHOOSE ZIP FROM SDCARD and choose the ROM.zip
Follow the instruction on Aroma Installer (the language is in Russian, just click next)
DOWNLOAD:
AOSP IDOL X Ver. 1.1 190115
AOSP IDOL X Ver. 1 150115
Click to expand...
Click to collapse
PORT FIRMWARE FROM LG G3
Original Thread from 4PDA
CHANGELOG:
Like anything special. Its graphics and only.
Advanced Menu reboot corrected chart, indicators of network traffic, batteries (huge selection), edits, finishing touch, etc.
INSTALLATION:
Put the ROM.zip and the DATA400SYSTEM826_2 Patch on your PHONE STORAGE
Reboot to RECOVERY
In Recovery go to WIPE AND FORMAT OPTIONS
Wipe FORMAT DATA, CLEAR CACHE and CLEAR DALVIC CACHE
Then...
*****IMPORTANT*****
Install this DATA400SYSTEM826_2 Patch
After flashing the patch now we can proceed in flashing the rom
INSTALL ZIP then CHOOSE ZIP FROM SDCARD and choose the ROM.zip
DOWNLOAD:
LG_G3_TCL_Idol_X
Click to expand...
Click to collapse
ROM dimkin_76 L reliz-ANDROID 4.4.3
Original Thread from 4PDA
CHANGELOG:
All I will not describe a lot of things
Very powerful system optimization
Propisanie capacity of your battery and strong optimization is made in English is called .........: D, shorter notification battery at 4% and is not strong battery discharge at 14%
Full screen photo
100% quality photos with the photo on the appointment of contact, cut all under your screen resolution
A set of messages by voice, without connecting to Internet
Extended reboot
Translated and expanded inzhenerki
Shorter now and not all spomnyu: D
Selection of the core and not only all cm. Configured
Powersave
Frequency is always equal to the minimum. Sometimes included in order to save the battery when the battery is low or off screen.
Performance
Frequency is always equal to the maximum. Used for the tests, obtain stable values in the benchmarks, or during charging and connecting to a computer. This is a faster mode than fixing a minimum equal to the maximum frequency (in ondemand for example), because there is no frequent requests to change it.
Userspace
For manual setting of frequencies that are not supported by the kernel. Not recommended and almost nobody uses.
Ondemand
Is present in most of the nuclei by default. At specified intervals (sampling_rate: ~ 10-20 milliseconds) checks the CPU usage and when it reaches a certain threshold (up_threshold ~ 80%) increases the frequency to the maximum until the CPU is not reduced.
Does not contain profiles for turning off the screen, so it is often set to powersave.
Hotplug
Based on Ondemand. Its distinctive ability - on multicore devices can disable kernel at low loads.
INSTALLATION:
Put the ROM.zip and the DATA400SYSTEM826_2 Patch on your PHONE STORAGE
Reboot to RECOVERY
In Recovery go to WIPE AND FORMAT OPTIONS
Wipe FORMAT DATA, CLEAR CACHE and CLEAR DALVIC CACHE
Then...
*****IMPORTANT*****
Install this DATA400SYSTEM826_2 Patch
After flashing the patch now we can proceed in flashing the rom
INSTALL ZIP then CHOOSE ZIP FROM SDCARD and choose the ROM.zip
DOWNLOAD:
ROM_dimkin_76_TCL_S950_reliz
Click to expand...
Click to collapse
Port firmware IOCEAN X8 on ART
Original Thread from 4PDA
CHANGELOG:
Firmware immediately translated into job ART'e, so that the download will last longer.
INSTALLATION:
Put the ROM.zip and the DATA400SYSTEM826_2 Patch on your PHONE STORAGE
Reboot to RECOVERY
In Recovery go to WIPE AND FORMAT OPTIONS
Wipe FORMAT DATA, CLEAR CACHE and CLEAR DALVIC CACHE
Then...
*****IMPORTANT*****
Install this DATA400SYSTEM826_2 Patch
After flashing the patch now we can proceed in flashing the rom
INSTALL ZIP then CHOOSE ZIP FROM SDCARD and choose the ROM.zip
DOWNLOAD:
TCL_IOCEAN_X8_ART
Click to expand...
Click to collapse
XPERIA Z3 OS 4.4.2
Original Thread from 4PDA
CHANGELOG:
Port with Lenovo, only corrected power_profile.xml in the frame. Normal operation of the memory on odnosimah not guarantee for 2 simah should be all set.
INSTALLATION:
Put the ROM.zip and the DATA400SYSTEM826_2 Patch on your PHONE STORAGE
Reboot to RECOVERY
In Recovery go to WIPE AND FORMAT OPTIONS
Wipe FORMAT DATA, CLEAR CACHE and CLEAR DALVIC CACHE
Then...
*****IMPORTANT*****
Install this DATA400SYSTEM826_2 Patch
After flashing the patch now we can proceed in flashing the rom
INSTALL ZIP then CHOOSE ZIP FROM SDCARD and choose the ROM.zip
DOWNLOAD:
Idol_X_XPERIA_Z3_OS442
Click to expand...
Click to collapse
To be updated...
Altenative Download and Add-Ons
1. Detect your device as ALCATEL
Look for this items in build.prop and change.
Code:
ro.product.model=ALCATEL ONE TOUCH 6040D
ro.product.name=ALCATEL_ONE_TOUCH_6040D
ro.product.board=ALCATEL_ONE_TOUCH_6040D
ro.product.display.model=ALCATEL ONE TOUCH 6040D
2. Change notification drawer background
Code:
decompile SystemUI-res.apk custpack/JRD_custres/app replace the file on res/drawable-xxhdpi/notification_panel_bg.png
3. Install Xperia Z3 Keyboard with lots of language supported
Code:
flash via recovery, wipe dalvic/cache
4. Change the default click sound
Download Xperia.ogg
Download Lewa.ogg
Code:
rename the file to tap.ogg and replace tap.ogg in system/media/audio/ui
5. Philz Touch Recovery 6.57.9 for Kitkat 4.4.2
Code:
flash using Mobile Uncle Tools or SP Flash Tool
go to the Advanced Functions on Sdcard target: / data / media / 0 / (should get / data / media /)
-Restart (Go back-Power Options-Reboot Recovery)
6. Identifier pro_info. Identify your device as Alcatel to TCL and vice versa for upgrading via Mobile Upgrade and TCL Updater
Download FlashToolMod
Code:
flash using Flash Tool Mod
7. Add Home Icon is Setting
Code:
disassemble Settings-res.apk in custpack/JRD_custres/app
go to \res\drawable-xxhdpi\ and replace ic_settings_home.png
8. Network Icons on the left
Code:
decompile systemui-res.apk go to res\layout and replace the files
9. Modding Battery Icon
i. Extract systemui-res.apk. go to res\drawable\stat_sys_battery.xml
ii. Under these lines
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
iii. Replace the texts with these
Code:
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
iv. Extract systemui-res.apk. go to res\drawable\stat_sys_battery_charge.xml
v. Under these lines
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
vi. Replace the texts with these.
vii. Download the file and copy the xml codes and replace the stock.
viii. Go to res\drawable-xxhdpi and replace the files you can find in this site. Pick one and replace the stocks.
Known Issues
how to escape from bootloops
the solution (credit to the one who share this) :good:
Plug the phone to your charger
press the power button, the screen will turn off and the notification led will light
as soon as the led turns on, unplug the charger (one has to be very quick)
wait a bit to be certain that the phone stays off
plug the charger again and wait some seconds that the screen turns on, as soon has the screen is on, unplug the charger.
Now you should be out of boot loop
start the phone in recovery mode (power + vol+) wipe data/factory reset or if you have backup then restore backup
or if you dont have any custom recovery you can update via mobile upgrade / tcl updater (i do this a lot but will take a lot of time, you can watch movie while taking time to finish installing rom)
or you can flash your device with new rom using sp flash tool.
Sometimes you have to do it lot of times on a trial and error basis
tested it lot of times :good:
Click to expand...
Click to collapse
nvram warning err=0x10 solution
sportistasd said:
i tried but there is still error,
anyway wifi working ok but in the list there is nvram warning err=0x10 is listed as an open wifi network
i searched throu forum and i found a vople of solution to fix that error i try few but nothing there are few more method so i hope i will find solution for that error on earlier version of betas i havent exipirenced that bug only on this from 14.11.
IF ANYONE EXIPIRIENCED THIS PROBLEM HERE IS SOLUTION:
Step # 1 : Switch on WiFi adapter on your phone.
Step # 2 : Go to 'About Phone' from Settings and note your phone's Wi-Fi MAC Address mentioned there. It should lok like xx:xx:xx:xx:xx:xx (xx = value of Mac Add.)
Step # 3 : Switch off WiFi adapter on your phone
Step # 5 : Launch 'Total Commander' application on your phone and navigate to File system root/data/nvram/APCFG/APRDEB and copy one file named 'WIFI' from there to the SD Card of your phone
Step # 6 : Copy this file i.e. WIFI from your SD card to Desktop on your laptop/desktop
Step # 7 : Launch 'HxD-Hexeditor' on your laptop/desktop and click on OPEN or Ctrl+O and select WIFI file (copied as per Step # 6) from desktop
Step # 8 : Refer to the first raw in the opened file and go to column no. 04
Step # 9 : Insert value of your actual MAC Address (as per Step # 2) in column 04 to 09 (Ensure that none of the value is ZERO) and SAVE this change
Step # 10 : Close Hexeditor and copy changed WIFI file from your desktop to the SD card of your phone. Delete older WIFI file from SD Card before copying this file.
Step # 11 : Once the file is copied to SD card, launch Total Commander application and move this file from SD card root to File system root/data/nvram/APCFG/APRDEB
Step # 12 : Reboot your phone
Click to expand...
Click to collapse
Reserve
for future use
thanks for your great post.
I dl all the files and open SP-Flash, change also the recovery .img.
But the SEC-Row box is empty. Whisout sec-row flash is not possible. Which file I should select from the 4.4 package?
Thanks
gregor4711 said:
thanks for your great post.
I dl all the files and open SP-Flash, change also the recovery .img.
But the SEC-Row box is empty. Whisout sec-row flash is not possible. Which file I should select from the 4.4 package?
Thanks
Click to expand...
Click to collapse
i flashed this rom without sec_rom. just select manually the custpack and the recovery. by the way, rename the custom recovery to recovery.img
how cool is that.
many Thanks work very well!
what is the different between dalwic and ART lib?
will all old apps run also with ART mode?
do we have an other boot animation? Alcatel sucs
many Thanks again.
sorry...off topics...but can u teach me how to disable capacitive button on 6040D...thanks
gregor4711 said:
how cool is that.
what is the different between dalwic and ART lib?
will all old apps run also with ART mode?
Click to expand...
Click to collapse
Nope, there are apps in the market that don't like the ART lib, but you can test it and with problems try an alternative app with the same function.
The most populair apps like whatsapp/facebook and so on are running fine with ART.
gregor4711 said:
do we have an other boot animation? Alcatel sucs
Click to expand...
Click to collapse
You can flash another one with the SP Flash tool.
Did anyone try xposed with this Kitkat beta? Does it work?
mmsandi said:
Did anyone try xposed with this Kitkat beta? Does it work?
Click to expand...
Click to collapse
i think you can try to install latest xposed but if you install gravity box and some other modules it will cause bootloop. you cant use xposed v2.3.1 in this because the framework will not work. need the latest version for kitkat
kitkat 4.4.2 build 1002
https://cloud.mail.ru/public/89ce0a4...4.4.2_1017.zip
bryanjay420 said:
https://cloud.mail.ru/public/89ce0a4...4.4.2_1017.zip
Click to expand...
Click to collapse
The working link: https://cloud.mail.ru/public/89ce0a4a9100/S950_KK4.4.2_1017.zip
laav said:
The working link: https://cloud.mail.ru/public/89ce0a4a9100/S950_KK4.4.2_1017.zip
Click to expand...
Click to collapse
ohh the link i post is where i downloaded it. but anyways it was already saved in my 4shared account
I'm using kitkat without root. When i download and try to flash recovery only in sp tools, but after click "download" wait for 10 mins also no any response. Any idea?
wweeping said:
I'm using kitkat without root. When i download and try to flash recovery only in sp tools, but after click "download" wait for 10 mins also no any response. Any idea?
Click to expand...
Click to collapse
is it working before?
Ok already, it need to wait almost 40mins.
hai....in this new rom...should i remove some .txt file just like kk4.4.2_0926.zip.....or i just simply flash it without some modify..thank
skoolished said:
hai....in this new rom...should i remove some .txt file just like kk4.4.2_0926.zip.....or i just simply flash it without some modify..thank
Click to expand...
Click to collapse
The 1017 doesn't have an .txt extension inside. Push the scatter inside Flash Tools and fill in the blank marks. Use te recovery placed in this topic instead of the official one!
If you're running a custom kernel & have VoLTE and/or RCS enabled by CSC or manually, chances are you have these icons in the status bar. Here's an alternate method on how to hide them if you don't like them as much as I do rather than editing the icons in imsservice.apk. With the editing imsservice.apk method changes need to made whenever imsservice.apk versions change.
This is not limited to the Note 8, will work on other devices also. Custom recovery like TWRP & root required.
This is not a full guide but I may add something later. Just info on how to hide the icons & it's not hard.
Info to read before starting
Custom kernels usually have ro.debuggable set to 1 like with eng & userdebug builds. This allows the system to be debuggable & allows you run root permissions in adb using the adb root command. On production builds like final release stock kernel ro.debuggable is set to 0. This will not allow you to run the adb root command, it will tell you adbd cannot run as root in production builds. You can still grant root access using adb shell su. So if you need ro.debuggable=1, then this is not for you.
This does not disable the VoLTE & RCS services, it simply hides the icons from the status bar like stock.
Disclaimer
I am not responsible for any damage or mishaps. If you follow as instructed everything will go fine, it's just a simple edit. As always, make a full backup or at least just the boot partition just in case.
We need to edit default.prop & set ro.debuggable to 0. This is loaded in ramdisk so you can not simply use a file explorer to edit default.prop. Changes will not be saved after reboot.
Extract boot.img (kernel image) from flashable kernel zip. This is usually named according to the device, something like "greatlte-eur.img" for Note 8. Using your choice of method/software unpack boot.img (I use MTK Extractor). Edit default.prop & change ro.debuggable=1 to ro.debuggable=0. Save changes & repack. Replace the boot.img in the zip with the newly edited boot.img (rename file if required, needs to be the same as originally in the zip). Flash zip in TWRP, reflash root, reboot to system & enjoy!
Note 8 alternatives & additional.
Before I figured this out I noticed that @pappschlumpf Smurf kernel v2.0.4 (only) & Aurora kernel have ro.debuggable set to 0. You can simply flash these kernels & the VoLTE/RCS icons will be hidden. As mentioned, stock kernel is also set to 0 & is why you won't see the icons with stock kernel. @Mentalmuso Weta BR5 ROM Base #2 now has these changes made to the kernels included with his ROM.
If you don't use VoLTE & RCS services, you can simply disable them in IMS Settings & the icons will turn off.
To enable the VoLTE quick settings tile, add this to your unencrypted cscfeatures.xml or others.xml. This will not hide the VoLTE icon in the status bar if present but the toggle is useful to turn off VoLTE service when you don't need it like if you are in an area where VoLTE service is spotty. (Only add the value in blue as you will have other values already)
Code:
[COLOR=blue][COLOR=Black]<CscFeature_SystemUI_ConfigDefQuickSettingItem>[/COLOR]VoLte[COLOR=Black]</CscFeature_SystemUI_ConfigDefQuickSettingItem>[/COLOR][/COLOR]
(I'll add a guide here later if needed)
If you don't want to, you don't need the zip to flash the kernel image. You can simply extract the boot.img from the zip. Unpack, edit, repack, then flash the .img using TWRP with the flash image option (be sure to flash to boot partition when asked), no file rename needed. Reflash root then reboot.
Namaste friends! Today we will learn how to remove Xiaomi's apps from Android's native battery optimization function also known as 'Doze' and how to optimize the whole MIUI further more for acute battery and performance optimization too.
Note: Please continue on your own risk. I will never be held responsible for anything you cause to your device. As I've never experienced any minor / major issues after the process explained here in this post. So, proceed on your own risk.
This process is extensively tried and tested multiple times with multiple MIUI release versions on a same single device running a global version of MIUI 12.5 and so. The device underwent in this process is Redmi 9 Power (India). Let's not waste time for modding our device to our own need.
Requirements: A Xiaomi device having root and unlocked bootloader with a custom recovery (TWRP/else) installed on it. A good root file manager, in my case it is MixPlorer.
Let's begin
Clean flash your ROM (Recovery or Fastboot, make sure the bootloader is unlocked after the flash) .
Reboot to recovery and flash Magisk Pathed Boot.img of the ROM you just flashed.
Format and reboot to system.
After boot, proceed with installing Magisk apk followed by MixPlorer.
Launch MixPlorer > goto /root folder > grant root (Magisk PopUp) .
Go to /system/xbin and delete all files in there. (these files do something at device boot-up and patch something before the lock screen appears) .
Again in /system/etc/sysconfig delete the xmls that include 'Xiaomi app names' with "allow-in-power-save" tag. You can also rename the xml file extention to anything other than xml that will also work like they are deleted or not there. ( XMLs like - miui core, miui-whitelist, power save config etc. Please open the xmls and verify before modifying the same )
Now head to /system/etc/permission, delete XMLs with "Facebook" names. You can also review some more XMLs in there as I found and patched some more XMLs including "allow-in-power-save" followed by mi apps.
If supported, go to /product/etc/sysconfig and rename google.xml to google.bak for gms to be optimised on next reboot.
Now debloat: Delete apps and their corresponding files in the same folder where apps are. Do not delete the folder only delete the apk and its dll or odex / vdex files. ( Never delete Find device, Mi account, Security etc.)
Now when done, reboot to recovery > format data > reboot to system.
to be continued...