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

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

All the edits used to boot Note 7 firmware on S5 it is different for every device.
https://mega.nz/#!8ZtzWCJR!rqTrvD5K3pUvHOAMq_540L_z7Hx0LFZawSzpobFDF98

Thanks for this guide..

A nice guide. Thanks! :highfive:

Ticklefish said:
A nice guide. Thanks! :highfive:
Click to expand...
Click to collapse
Thanks
Sent from my SM-A810S using Tapatalk

Great Extremely helpful, time for noobs to port now

Thanks mate you finally did it big help

Thanks manYou helped me.

Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,

thereassaad said:
Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,
Click to expand...
Click to collapse
Thanks assaad will fix when I get time I get what you are saying but this is a intro. I can't explicitly state which jars apks or libs are needed because they are all different for different devices. XML and permissions I could elaborate on but you can't expect me to possibly give a overview of everything right. Hope you understand thanks. I never explicitly stated this was a full guide and you shouldn't treat it as such.
Sent from my SM-A810S using Tapatalk

Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend

thereassaad said:
Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend
Click to expand...
Click to collapse
Ohh I understand what you are saying. I will expand on this guide when I get time hopefully you also could help support and add to this guide as XDA is a community. ? Over time we could help many users thanks for your advice.
Sent from my SM-A810S using Tapatalk

@malbert16442 Can you help me with my S5 which is G9008V China Mobile variant?
I can't boot on Thunderbolt A8 rom...
What should I Fix?

I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!

jonathanmohamed said:
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!
Click to expand...
Click to collapse
Thanks happy for you. How would you rate your level of expertise so I could set a difficulty level for this
Sent from my Pixel XL using Tapatalk

Learned new debug problems in Sammy Roms updating guide soon, making it more appealing too. Happy that one person actually made a port from this guide.

thnx alot @malbert16442 .... but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed

Allooosh98 said:
thnx alot @malbert16442 ...using this guide i ported S7e, G532F to j7.....but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed
Click to expand...
Click to collapse
When you add wifi serivce jar you have edits to make in framework you will see in your log
But don't work I have a fix for stock files too. I work on this guide this weekend make it look better

Okay so alot of people are pming me about fixing camera will post solution or debug solutions here soon

hey @malbert16442 bro can u help me to fix the problem?? there is a E art error in logcat that i cant fix it :
E art : No implementation found for int android.os.storage.sensitive.SecureStorageLSM.lsmInitialize() (tried Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize and Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize__)
i checked smali files but its as same as stock,i attached the log,if its ok look at it and tell me what should i do

Related

[GUIDE] The Noobs Guide to Android ROM'ing

Work in progress..
Now the purpose of this guide is only one, to guide you through “cooking” your own stock flashable ROM from a shipped ROM… That’s it. It’s not hard but it does help you start the journey of the real dev work. There are to many "Devs" around that just do something like this guide and copy files from other ROMs to theres, And this DOES NOT make you a Developer so please dont go posting stock deodexed ROMs everywhere and call yourself a Developer
Before starting I’m going to assume you have setup the correct ADB Drivers for your device although not really needed to make a ROM, it does make it easier in the long run.
Once you run through this guide you will have a stock ROM with ROOT permissions, DeoDexed, Zipaligned, Busybox and init.d support. From there you can modify your ROM to your hearts content, all this is doing is making your base. The real Dev work is .smali editing, modifying .xmls making your own apps, etc... This guide will just help you to not rely on other members to release "Stock deodexed ROMs"​
Wording:
ROM = An Android Operating system
Cooking = Making your own ROM
Shipped ROM = A Stock ROM for your device, e.g. a RUU.exe etc…
Kitchen = The Dsixda’s ROM Kitchen
ADB = Android De-Bugging
CWM = Clockwork Mod Custom Recovery
zImage = Kernel controls CPU, Battery etc.
Modem/Radio = Controls cell signal, internet etc.
ROOT = ROOT Permissions, access to the ROOT or / of your device, kind of like the Windows folder on your computer.
DeoDexed = Removing the .odex files from a ROM to allow for .apk customizing e.g. Theming etc..
.apk = Android application file
Init.d = Allows the running of scripts such as Memory tweaks and SD-Card tweaks etc.
SU = Superuser
CMD = Windows Command Prompt
MOD = Modification
Click to expand...
Click to collapse
ADB Short codes that may be helpful later:
Type these directly into your CMD window with your device plugged in.
adb reboot recovery = Reboots your phone straight into recovery mode
adb reboot = Reboots your phone
adb push = use this to push files to your phone, make sure you are in the folder with the file you want to push in CMD (Example, adb push c:\android\SystemUI.apk /system/app)
adb logcat = Tells you what your phone is doing.
adb remount = Remounts the partition specified (Example, adb remount /system)
Note 1:
When making a ROM the overall concept is the same for every device that runs CWM or any other custom recovery. The only main difference is extracting the files you need from the Shipped ROM​
Note 2:
It makes it easier to have a shortcut to your kitchen folder and any others you need in your favourites or dektop​
Part 1. Setting up the “Kitchen”
Go to THIS FAQ and choose the method you prefer to install on. If you are running Windows I recommend the Cygwin way. It’s easier and you don’t need to keep booting between Linux and Windows, You don’t even need Linux if you do it the Cygwin way. And please do get the pictorial guide HERE, it helps A LOT for “noobs” and don’t forget to install the Java JDK if you do Windows Option 1. Keep in mind that doing it on Ubuntu IS much faster.
NOW IF Cygwin is to difficult for you, just download Ubuntu and install it next to windows.
Part 2. Extracting the files you need.
There are a few different ways you can do this, the main ones are:
For HTC Devices
Get a RUU.exe from the internet for HTC Devices and extract the system.img and boot.img
Download the RUU and run it on Windows, proceed until you get to the screen with the picture of the phone, see bellow. – (No you don’t need to plug your phone in)
{
"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"
}
Open your Start Menu on Windows
In the Windows 7 search bar type %temp% and hit enter
In the folder that opens click in the search box in the top right corner and search ROM.zip
Drag ROM.zip to your desktop, open and extract system.img and boot.img to your desktop.
________________________________________________
For ANY Android Device (Or if you cant get them any other way)
Using a backup of a stock ROM, This way gives you the ability to make a ROM from pretty much any device that has CWM installed.
Taking the system.img and boot.img from the backup folder
________________________________________________
For Samsung Devices:
Extracting the following from a Samsung Shipped ROM
factoryfs.img (and optionally: cache.img, zImage, modem.bin)
TAR file containing factoryfs.img (optional: cache.img, zImage, modem.bin)
ZIP file containing factoryfs.img (optional: cache.img, zImage, modem.bin)
Any of these above methods can be used and the extracted files placed in the ORIGINAL_UPDATE folder of the kitchen in the next step. If your device is not compatible with these methods check the device list in this THREAD for more guides.
Part 3. Setting up the working folder.
Now we have the files needed to make our ROM let’s get to it!
Go to your kitchen folder then the original_update folder and place your files in It
Start the kitchen by starting Cygwin and typing cd kitchen then ./menu
Hit option “1. Setup working folder from ROM” press enter again
Select the option you want from the list e.g. “(1) system.img and boot.img”
Rename the folder if you wish but it doesn’t matter, hit enter
If you are working from system.img and boot.img you need to run through the extraction process in next step. Most new ROMs use an EXT4 file system so if you are unsure just hit option “2 – Run Ext2Explore (EXT3/EXT4)” and follow the instructions in the Cygwin window (If you are just using a .zip or .tar etc. you don’t need to do this step.)
When that’s finished hit “3 – I’m finished unpacking / abort”
Finally hit Y to see you working folder details once its run through the process.
Part 4. Add the options you want to add
A good thing to do now is, keep it simple. The kitchen is best to use only for making your ROM base, once you have the .zip file most customizing can be done from there unless you need to edit the boot.img etc. but we are not going to get into that in this guide.
Now, we are going to make a simple ROM base optimized for speed and functionality. Follow the next steps and by the end you will be ready to build the ROM.
The most obvious of all, we will add “ROOT Permissions”. So choose option 2.
Always stick with Chains method so hit option F, this won’t take long at all, wait for it to finish the press enter to continue.
Next add Busybox with option 3, hit Y to continue and enter when finished.
Most people disable boot sounds (option 4), I usually just do it later if I choose to.
Don’t worry about Zipaligning because we will do it when we build the ROM.
Next choose option 0 for advanced options.
If you ROM isn’t already DeoDexed choose option 11
If you wish you can backup both folders but I usually don’t bother.
Then select option B to Deodex BOTH folders, this one will take some time, on an HP Laptop core2duo with 4gig of RAM takes about 15 minutes.
Now add /data/app functionality so choose option 13 and select Y to continue, This allows you to move apps from the system folder to your /data/app folder before the install, which in turn allows the end user to uninstall the apps if they wish. This can ONLY be done with certain apps, like apps you get from the market.. YouTube, Google Maps, Twitter etc. DO NOT put dependent apps like SystemUI.apk etc in the /data/app folder.
Next add the Nano text editor on option 14
Next add Command Shell or “Bash” with option 15
Next add init.d support with option 17 to allow the running of init.d scripts, sometimes you may have to manually add the init.d folder to your ROM at the end or before build, either way it doesn’t matter.
Now we are ready to build the ROM and flash it. Understand that all these are optional, if you want to you can just deodex the ROM and go straight to option 99 and build the .zip file. This is just what I recommend you do
Next go to option 99 when you’re ready to build your ROM.
For now you will choose option 1 “Interactive Mode”
When it asks you to Zipalign your .apk’s you can now choose Y and it will quickly run through and Zipalign all the .apk’s in your build.
Once finished, it will start building you ROM.zip file this may take about 5-10 mins on a slow computer or if your CPU is busy already.
When that’s finished it will ask you to either continue with the updater-script or not, this is always a YES for you guys, so hit Y and move on.
Now we need to Sign our ROM, this is always a YES also
The final step is to either rename your ROM or not, it doesn’t matter if you do it now or just rename the .zip file later, so do what you wish and hit enter.
Congratulations you have made your first ROM! You can now backup your current setup in CWM and flash it from your SD-Card, be sure to do a full wipe if it’s the first time and install it.
Note 1:
Sometimes you may get an error and CWM wont flash it, USUALLY this is because the kitchen has screwed up the updater-script but this doesn’t often happen. If it does take one from another ROM on the SAME DEVICE (<< IMPORTANT) and add it to your ROM.​
Part 5. Further Mods and tweaks:
Resources:
Last one..
Well be the first one to reply this is amazing for a person like me who is in the learning process.
Mr.Oug said:
Well be the first one to reply this is amazing for a person like me who is in the learning process.
Click to expand...
Click to collapse
That's the idea
Sent from my Nexus S using xda premium
Awesome work! I'll be following this interesting thread. Thanks bro!
Sent from my GT-S5660 using XDA Premium App
Thank you very much. I've tried and passed from your guide and do I expect further intermediate and advance guide ?
Can't wait to start on this tonight.
I changed my ics lockscreen on my one with help from someone.
Now i finaly can learn to mod a rom on my own.
THX for the tutorial.
Time to learn more from my android
This tutorial worked like a charm.
Nice to see that everything worked and that i learned a lot from it.
Can wait to see how to mod it all.
Keep updating and i will follow the threats.
730000229 said:
Thank you very much. I've tried and passed from your guide and do I expect further intermediate and advance guide ?
Click to expand...
Click to collapse
Coming soon guys
Sent from my Nexus S using xda premium
A good tutorial for those with HTC devices, the tablets such as those from Samsung do not follow the file structure as before and will require a correct Edify definition file to create an update script that will work.
lorinkundert said:
A good tutorial for those with HTC devices, the tablets such as those from Samsung do not follow the file structure as before and will require a correct Edify definition file to create an update script that will work.
Click to expand...
Click to collapse
The kitchen should still sort it out. I've not had a Samsung tablet but its not going to be that different and if the updater isn't formatted properly compare it to a pre made ROM and see what's different
Sent from my Nexus S using xda premium
hi i have i9100G and i used the guide as written from top to bottm but for my i9100g it ask to change the framework.i tried the guide twice and both times i get stuck at the boot...
manishdev said:
hi i have i9100G and i used the guide as written from top to bottm but for my i9100g it ask to change the framework.i tried the guide twice and both times i get stuck at the boot...
Click to expand...
Click to collapse
What do you mean it asked to change the framework. More details mate. Make sure you have the right base ROM for your device
Sent from my Nexus S using xda premium
I'm definitely gonna try this out. Thanks for the instruction!
I want to follow this but i see no specifics on how to set up the kitchen on an Ubuntu machine, i purposely took one of my older dell latitude d420 and completely removed windows and installed the latest version of ubuntu, which is 11.10. would you please if possible, post some specifics on how to go about setting up the kitchen for an ubuntu machine, the faq links are pretty much windows specific. you said that using ubuntu would be much easier to go about this adventure, and i am dying to try it out, but im stuck, I know i have the java files and i have the android sdk all installed and stuff (or so i think). Any kind of enlightenment would be much appreciated,,,,,,,im refreshing this thread like every 2 minutes.....i really wanna dive into this
kevace1 said:
I want to follow this but i see no specifics on how to set up the kitchen on an Ubuntu machine, i purposely took one of my older dell latitude d420 and completely removed windows and installed the latest version of ubuntu, which is 11.10. would you please if possible, post some specifics on how to go about setting up the kitchen for an ubuntu machine, the faq links are pretty much windows specific. you said that using ubuntu would be much easier to go about this adventure, and i am dying to try it out, but im stuck, I know i have the java files and i have the android sdk all installed and stuff (or so i think). Any kind of enlightenment would be much appreciated,,,,,,,im refreshing this thread like every 2 minutes.....i really wanna dive into this
Click to expand...
Click to collapse
Just skip everything cywgin. Cywgin basically runs Linux commands on Windows
Sent from my ARCHOS 80G9 using xda premium
Everything will be heaps faster if you run it on ubuntu
Sent from my Nexus S using xda premium
so basically just do all comands written and just omit any refeernce to cywgin? when i extract the zip from the kitchen file, i get 3 folders and a "menu" file, and a readme text. what command do i have to use on terminal to start the kitchen?

[TOOLKIT][WINDOWS] Automated Framework Kit AIO /w { Workbot + Stylist } [1/11/2013]

Automated Framework Kit
by Themike10452
\\======\_______________/======//
​
{
"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"
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Reading is fun . . . reading is helpful . . . reading helps you not to ask silly questions . . . so READ!
This AIO toolkit includes 3 main MS-DOS scripts:
\\AFK//​About AFK
• It's a tool with a graphical interface, to manipulate your framework-res.apk, mainly to enable On-Screen Buttons and USB Mass Storage on all Android 4 ROMs.
• It has other features too, such as resizing On-Screen Buttons, enabling/disabling CRT screenOff animation, enabling lockscreen rotation, etc...
• It has the ability to create recovery flashable zips to install your custom framework and revert changes if you want to.
How to use it
• After you have installed the toolkit launch Automated_Framework_Kit_vXX.cmd
• You must have JDK installed on your machine in order to use AFK/Workbot.
• Browse for your framework-res.apk
• Choose the options you want from the graphical menu.
• When done customizing your framework hit Finish/Compile.
• You will br prompted to create recovery flashable zips.
• Collect your goodies from #collect-your-goods-here folder as always.
• Whatever follows is up to you.
○ It is recommended to use Cleanup script when you are done, be careful! your goodies will be erased.
Click to expand...
Click to collapse
\\Workbot//​About Workbot
• It's a time-saving script that does what AFK does in much less time because:
- It has no graphical interface.
- It does not require user input.
- It works according to pre-defined settings stored in Settings.ini under Workbot_Settings section.
How to use it
• Launch Workbot.cmd
• Check the displayed settings, if you agree on these settings hit Y to continue.
• If you don't agree on the settings hit N to edit.
• After you get through the first page, drag and drop your framework-res.apk inside the black window and hit enter.
• Watch the magic happen in less than a minute (20s~40s if you have a decent PC)
○ You can just drag and drop your framework-res.apk on top of Workbot.cmd and the bot will do the work instantly based on the stored settings.
○ It is recommended to use Cleanup script when you are done, be careful! your goodies will be erased.
Click to expand...
Click to collapse
\\Stylist//​About Stylist
• It's a simple script with a simple graphical interface.
• Its job is to skin your On-Screen Buttons with various button styles and colors.
• It stores more than 50 different styles with various colors.
How to use it
• Launch Stylist.cmd and drag and drop your SystemUI.apk inside the black window
○ Or, just drag and drop your SystemUI.apk over Stylist.cmd
• In, the menu press Preview to have a look at each softkey style
• Switch through pages using the buttons in the bottom right corner.
• Click on the style you like and you will be prompted for confirmation.
• After you confirm your choice, the script will mod your SystemUI.apk and generate recovery flashable zips in seconds!
• Collect your goodies from #collect-your-goods-here folder as always.
○ It is recommended to use Cleanup script when you are done, be careful! your goodies will be erased.
Click to expand...
Click to collapse
Requirements:
• A DEODEXED Android 4+ ROM
• Microsoft Windows OS 32-bit/64-bit (winXP or later)
• Java Development Kit installed on your machine (JDK 6 or later)
Click to expand...
Click to collapse
Strong recommendations:
• Install the toolkit in a short directory with no spaces and special characters, ie: C:\AFK
• For better results copy the file aapt.exe from Tools folder to C:\Windows
Click to expand...
Click to collapse
Code:
[COLOR="Blue"][U][I]Changelog:[/I][/U][/COLOR]
[COLOR="Green"]-v5.0-[/COLOR][COLOR="Silver"](30-08-2013)[/COLOR]
- Flagship, first AIO complete release.
[COLOR="Green"]-v5.1-[/COLOR][COLOR="Silver"](18-09-2013)[/COLOR]
- Small script fixes and improvements.
- Added 'Compatibility\Requirements Scanner' script.
- Added an option in the installer to copy aapt.exe to C:\Windows (Heavily Recommended)
- Installing Stylist and Workbot scripts are now optional.
[COLOR="Green"]-v5.2-[/COLOR][COLOR="Silver"](1-11-2013)[/COLOR]
- Stylist script fixed and updated to v1.3
Don't forget to hit Thanks :good: and rate the thread as it deserves
Download
Please do not mirror download links.
Automated Framework Kit AIO v5.2 [exe][mediafire]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
How to fix the BIG back button issue?
Click to expand...
Click to collapse
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Code:
[color=green][b]
Credits
=======[/b][/color]
•[user=4954315]@Themike10452[/user]
•[user=4696863]@besttt[/user]
•[user=4748936]@milanjm[/user]
•[user=2968938]@raziel23x[/user]
•[user=2539590]@atticus182[/user]
•[user=2232731]@flip360[/user]
[b]And every XDA member who contributed in the development/debugging of this toolkit.[/b]
Everything is tested a million times before being released, but still, if you face any problem please let me know.
Don't forget to hit THANKS and rate the thread objectively.
Screenshots attached.
when apears that board loading resourche table ...only stay for 1 sec and gone i cant select anythink because disappears that happens if i start the bat normaly if i started with admin rights said Settings.ini missing but does not missing apears at files
besttt said:
when apears that board only stay for 1 sec and gone i cant select anythink because disappears
Click to expand...
Click to collapse
yeah I have this problem
erfandl said:
yeah I have this problem
Click to expand...
Click to collapse
have the ini got the correct permissions sometimes windows will drop the ini s in documents folder
buzzinkeegs said:
have the ini got the correct permissions sometimes windows will drop the ini s in documents folder
Click to expand...
Click to collapse
still does not work for me
Admin rights are not needed, and will also make the script loose the files around it like your running the script from another folder.
Try editing settings.ini and change USEMOUSE=1 to USEMOUSE=0, if it still does not work let me know. I never had these problems when testing the script, just remember no shortcuts and no "run as admin"
Quick fix [hopefully]
besttt said:
when apears that board loading resourche table ...only stay for 1 sec and gone i cant select anythink because disappears that happens if i start the bat normaly if i started with admin rights said Settings.ini missing but does not missing apears at files
Click to expand...
Click to collapse
Well here's a quick fix for you, I compiled the BATCH file into an executable so it doesn't loose its path when you run the tool as admin, just copy the exe file inside the app folder and run it as admin instead of the old batch file.
I also recommend placing the app in a short path with no spaces; Example: C:\AFK
DOWNLOAD:View attachment AFK_v1.0_FIX1.zip
Themike_10452 said:
Well here's a quick fix for you, I compiled the BATCH file into an executable so it doesn't loose its path when you run the tool as admin, just copy the exe file inside the app folder and run it as admin instead of the old batch file.
I also recommend placing the app in a short path with no spaces; Example: C:\AFK
DOWNLOAD:View attachment 1870355
Click to expand...
Click to collapse
all ok now ,,,,the board stay,,, i can choose only from keyboard,,,,and all works ok at cm 10 framework At cm 10.1 framework i get that errors when i say yes to usb mass storage,,,, errorrr... file storage list xml not found..
yes to navigation bar error bools.xml not found
yes to navigation size bar error dimens.xml not found
can you do the same script to works both cm 10 and cm 10.1 frameworks?????? at cm 10 with changes at USEMOUSE=1 to USEMOUSE=0 all perfect but works at cm 10.1?????
besttt said:
all ok now ,,,,the board stay,,, i can choose only from keyboard,,,,and all works ok at cm 10 framework At cm 10.1 framework i get that errors when i say yes to usb mass storage,,,, errorrr... file storage list xml not found..
yes to navigation bar error bools.xml not found
yes to navigation size bar error dimens.xml not found
can you do the same script to works both cm 10 and cm 10.1 frameworks?????? at cm 10 with changes at USEMOUSE=1 to USEMOUSE=0 all perfect but works at cm 10.1?????
Click to expand...
Click to collapse
Well to decompile APK from Android 4.2.2 I think I need a newer version of apktool.jar, I'm moving to cm10.1 soon, when I finish my exams I'll start working on it
Themike_10452 said:
Well to decompile APK from Android 4.2.2 I think I need a newer version of apktool.jar, I'm moving to cm10.1 soon, when I finish my exams I'll start working on it
Click to expand...
Click to collapse
also automatick cant load the framework resolution apk,,,, apears at folder you just choose to load at the file who must go to the framework resolution apk ,,,and does not loaded only manually if you copy the framework at the file
besttt said:
also automatick cant load the framework resolution apk apears a folder you just choose to load at the file who must go to the framework resolution apk and does not loaded only manually if you copy the framework at the file
Click to expand...
Click to collapse
I didn't understand a word bad english :/
Sent from my Xperia Arc S using xda premium
What does it do?
=============
= It edits your framework-res.apk and Enables Navigation Bar and USB Mass Storage (Android 4.x Only)
Click to expand...
Click to collapse
Dear Mr.Themike
Firstly, I thank you for your good work.
'Android 4.x only' means, will it work for 4.0.3 ?
I have Dapeng A9230+, running on Custom ICS 4.0.3.
I successfully made framework flashable files through your great guide. But after flashing through recovery, nothing changes. sorry.... there is no Navigation bar.
I think, something wrong myside ?
Best regards.
ramsuresh4 said:
Dear Mr.Themike
Firstly, I thank you for your good work.
'Android 4.x only' means, will it work for 4.0.3 ?
I have Dapeng A9230+, running on Custom ICS 4.0.3.
I successfully made framework flashable files through your great guide. But after flashing through recovery, nothing changes. sorry.... there is no Navigation bar.
I think, something wrong myside ?
Best regards.
Click to expand...
Click to collapse
I tested this tool on ICS 4.0.4 and I think it should work fine on 4.0.3, so here's a tip for you:
Choose Enable Navigation Bar in the app menu, after it's done minimize the app window and go to [dec] folder>[framework-res.apk]>[res]>[values] and look for bools.xml and open it with and XML editor or just wordpad, look for a string that looks like this one:
<bool name="config_showNavigationBar">true</bool>
If it's there than it's okay and everything is good
Now go again to the app menu and set the NavBar dpi to whatever you like ( 0 disables NavBar )
then go again to [dec]>[framework-res.apk]>[res]>[values] and look for dimens.xml and open it and check if the dimensions you set are right.
After that compile the apk and flash it, If all the previous work is done properly and no errors but still the NavBar doesn't exist then it's beyond my capability to analyse Wish u luck
Error creating CWM zips
Thanks for the tool Themike_10452 but i cant build cwm zips this is the error i get
Code:
Filename: framework_CWM_16229.zip
((Themike10452))
The system cannot find the path specified.
TCreated restore zip: framework_CWM_16229_restore
The system cannot find the path specified.
The system cannot find the path specified.
'zip.sfx' is not recognized as an internal or external command,
operable program or batch file.
TPress any key to continue . . .specified.
The system cannot find the file specified.
besttt said:
all ok now ,,,,the board stay,,, i can choose only from keyboard,,,,and all works ok at cm 10 framework At cm 10.1 framework i get that errors when i say yes to usb mass storage,,,, errorrr... file storage list xml not found..
yes to navigation bar error bools.xml not found
yes to navigation size bar error dimens.xml not found
can you do the same script to works both cm 10 and cm 10.1 frameworks?????? at cm 10 with changes at USEMOUSE=1 to USEMOUSE=0 all perfect but works at cm 10.1?????
Click to expand...
Click to collapse
NOW AFK v2 is out, with CM10.1 Support
http://www.mediafire.com/?4o4nmst0kt0we7n
Themike_10452 said:
NOW AFK v2 is out, with CM10.1 Support
http://www.mediafire.com/?4o4nmst0kt0we7n
Click to expand...
Click to collapse
perfect my friend very good job i tested now that release suport both cm 10 and cm 10.1 still you have to change the value from ini mouse=1 to mouse=0 that works for me
besttt said:
perfect my friend very good job i tested now that release suport both cm 10 and cm 10.1 still you have to change the value from ini mouse=1 to mouse=0 that works for me
Click to expand...
Click to collapse
USEMOUSE=1 works for me. Thanks a lot my friend
Sent from my Xperia Arc S using xda premium
Tenacius D said:
Thanks for the tool Themike_10452 but i cant build cwm zips this is the error i get
Code:
Filename: framework_CWM_16229.zip
((Themike10452))
The system cannot find the path specified.
TCreated restore zip: framework_CWM_16229_restore
The system cannot find the path specified.
The system cannot find the path specified.
'zip.sfx' is not recognized as an internal or external command,
operable program or batch file.
TPress any key to continue . . .specified.
The system cannot find the file specified.
Click to expand...
Click to collapse
Thanks for reporting this problem. I'll work on it ASAP, meanwhile try using create_zip script, open it and drag the apk inside the Window and hit enter, a restore zip will not be created but it might work for you
++edit ++
I forgot to ask you, after getting the error can you find zip files inside the goodies folder? If yes what do they contain? Thanks
Sent from my Xperia Arc S using xda premium
Themike_10452 said:
I tested this tool on ICS 4.0.4 and I think it should work fine on 4.0.3, so here's a tip for you:
Choose Enable Navigation Bar in the app menu, after it's done minimize the app window and go to [dec] folder>[framework-res.apk]>[res]>[values] and look for bools.xml and open it with and XML editor or just wordpad, look for a string that looks like this one:
<bool name="config_showNavigationBar">true</bool>
If it's there than it's okay and everything is good
Now go again to the app menu and set the NavBar dpi to whatever you like ( 0 disables NavBar )
then go again to [dec]>[framework-res.apk]>[res]>[values] and look for dimens.xml and open it and check if the dimensions you set are right.
After that compile the apk and flash it, If all the previous work is done properly and no errors but still the NavBar doesn't exist then it's beyond my capability to analyse Wish u luck
Click to expand...
Click to collapse
Dear Mr.Themike,
Thanks for your Reply.
Bools.xml and dimens.xml, everything is perfect as you told. But after decompiling and flashing, there is no navigation bar. I have one doubt. What size we have to give for nav bar ?.(wvga screen).
If I give 37, it takes 37 for both 'height and width'.
Then, If my Rom is in 190 lcd density, the given size will work ? Or I have to be in system standard lcd density (240) for all nav bar sizes ?
Ok. Anyway, for the present Ics Rom, I have no success.... maybe Rom framework not compatible.
I have to try Other Ics and Lewa Roms.(for miui, I have working framework, which has nav bar).
Best Regards.
Sent from my Dapeng A9230+ through XDA mobile.
ramsuresh4 said:
Dear Mr.Themike,
Thanks for your Reply.
Bools.xml and dimens.xml, everything is perfect as you told. But after decompiling and flashing, there is no navigation bar. I have one doubt. What size we have to give for nav bar ?.(wvga screen).
If I give 37, it takes 37 for both 'height and width'.
Then, If my Rom is in 190 lcd density, the given size will work ? Or I have to be in system standard lcd density (240) for all nav bar sizes ?
Ok. Anyway, for the present Ics Rom, I have no success.... maybe Rom framework not compatible.
I have to try Other Ics and Lewa Roms.(for miui, I have working framework, which has nav bar).
Best Regards.
Sent from my Dapeng A9230+ through XDA mobile.
Click to expand...
Click to collapse
I have a MDPI device with 240 dpi, I use 24 dpi NavBar, slim and good looking
Sent from my Xperia Arc S using xda premium

Suvi Tool - A generic android suit for windows - V0.1.13.9.20 (21st Sept)

{
"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"
}
--------- Suvi Tool ----------​
What is this about?
Suvi Tool is a windows based software tool for any android device. It is written in Java and is Open source.
It uses ADB commands in background and lets you do so many things like install app, copy file, Mount filesystem, Manage aplications, backup applications APK and data. Everything from your Windows PC.
What are main features?
Device Information
Get basic device information like Model, Kernel version, linux version, serial number, etc
Get information about different partitions, and space left in each partition (including SD card)
Manage Applications
List all installed applications
Backup APK
Backup application data
Restore APK and data later (like titanium backup)
Nice UI, Filter apps with name, categories, sizes
Sort on various options
Batch backup/restore as well as single app backup/restore
Freeze/Unfreeze apps (batch or single)
Uninstall apps
Kill apps
Clear application data
Copy Files
Copy file from computer to device
Change permissions to the copied file
Copy file from device to computer
copy whole directory from device
Drag and Drop of files supported
Install APK from computer
Install apk file stored on computer
Install APK as system app or on SD card as well
Drag and Drop of apk file supported
Create CWM of your apps and data
Yes you can select applications and create CWM package
Application data can be included in the CWM zip
Push the CWM.zip to sdcard automatically.
Manage build.properties file
View build.properties file on device
Change it and save back to device
Inbuilt options to add in build.properties
like Kernel and JVM tweaks, network tewaks, performance tweaks
Select the checkbox of the tweak you want, it will be added to build.properties file
change DPI
Reboot Device
Reboot into Recovery or normal reboot
Mount /system writable
View LOG
Clear logs on UI
Auto scroll, or truncate long lines
Change max length of the lines of logs
Everything from your PC!!!
OK I got it. How do I use it?
Download the Suvi Tool
Extract it in a folder
Run SuviTool.exe
What are prerequisites?
Your PC should have required drivers installed
Java (1.5+) 32 bit
Enable USB Debugging on phone
Root
Busybox installed
(No you don't need ADB, its built in the tool)
Cool! Who are target users?
Any one
A developer
A tester
A regular user
This sounds very generic, why its posted in A110 section?
TBH, I have not tested this on other devices
Depending on the feedback, I will take it to generic level for all the devices and Linux platform as well.
Where to download?
**Before download, you can express your thankfulness by clicking 'Thanks' button on any (or all) of my posts here.**
Download - See 'Downloads' tab or Suvi Tool V0.1.13.9.20 Alpha - LATEST
Changeog
File trensfer fix - now copy files to /system locations with root
Cancellable tasks...now cancel button works
UI modifications (Minor)
Some more bugs
Download - Suvi Tool V0.1.13.9.18 Alpha
Where are the sources?
PM me and I will provide source code.
** This is not related to Suvi ROM **
XDA:DevDB Information
Suvi Tool - A generic android suit for windows - V0.1.13.9.20 (21st Sept), a Tool/Utility for the Micromax A110
Contributors
bsuhas, bsuhas
Version Information
Status: Alpha
Created 2013-09-24
Last Updated 2013-09-24
Screenshots​
Device Information
Application Manager
Sort
Filter
File Transfer
Build.prop editor
Log Viewer
Known issues, Bugs​
There would be many bugs, this is alpha version. But the basic functions are tested and useful.
To name few -
SMS and contacts data backup may not work fully.
Data restore across android version (like ICS to JB) may not work
Etc...
The Mechanism of ADB Commands
Internally, the tool uses all ADB commands. These commands are not hard-coded in the source files but externalized to a XML file.
Open SuviTool\resources\ADBCommands-config.xml to see the details.
A normal ADB command is defined as
Code:
<command type="adb">
<id>COPY_TO_DISK</id>
<args>
<arg name="device-path"/>
<arg name="disk-path"/>
</args>
<expected-result type="not-starts-with">remote object</expected-result>
<exec-lines>
<line>pull</line>
<line>"${device-path}"</line>
<line>"${disk-path}"</line>
</exec-lines>
</command>
This command will take 2 arguments and will run as adb.exe pull "src.path" "dest.path"
A ADB shell command is defined as
Code:
<command type="shell">
<id>GET_PROPS</id>
<expected-result type="not-empty"/>
<exec-lines>
<line>getprop</line>
</exec-lines>
</command>
This command will not take any arguments and will run as adb.exe shell getprop
A command sometimes requires su permissions. Like this -
Code:
<command type="shell" force-su="true">
<id>ENABLE_PKG</id>
<args>
<arg name="pkg"/>
</args>
<expected-result type="ends-with">new state: enabled</expected-result>
<exec-lines>
<line>pm enable ${pkg}</line>
</exec-lines>
</command>
This command will take 1 argument of the package and un-freeze the application.
Further more, the shell commands will be sequenced - means they can be executed in sequence.
Code:
<command type="shell-sequence" force-su="true">
<id>CHMOD_RWRR</id>
<expected-result type="not-empty"/>
<args>
<arg name="file"/>
</args>
<seq-command id="CHMOD">
<command-arg>644</command-arg>
<command-arg>${file}</command-arg>
</seq-command>
</command>
This command will change the permission of a file to 644 (rwrr) by internally executing CHMOD command (which is defined as shell command in the same XML file)
Cool!!!!
Looks like you have done so much of work, how can I help/support you?
Sure, you can express your thankfulness by clicking 'Thanks' button on any (or all) of my posts here.
Also, you can donate to me if you feel so -
You can buy me a coffee
OR
Use Donate button here on left side.
OR
Click here - http://forum.xda-developers.com/donatetome.php?u=4396693
Customizations​
Add build.prop tweaks
You can add you own build.prop tweak which will reflect on the UI build.properties editor tab. You can use it in your development.
Open SuviTool\resources\Build.prop_tweaks.xml file and follow the procedure
Code:
<tweak category="__This will be the tab name on the editor__"
description="__This will be property header (name)__"
show-props="true/false __This will show/hide the actual property text form UI__">
<property id="your.build.prop1"
type="string (if text values), toggle (if ON/OFF type)"
defaule-value="__default value__"
on-value="__true/1/on or whatever for toggle__" off-value="__false/0/off or whatever for toggle__"/>
<property Repeat the property tags/>
</tweak>
For example, to add the Bravia engine tweak under the 'Addon Packs' category
Code:
<tweak category="[COLOR="Red"]Addon pacs[/COLOR]" description="[COLOR="red"]Bravia engine[/COLOR]" show-props="disabled">
<property id="ro.service.swiqi2.supported" type="toggle" defaule-value="true"/>
<property id="persist.service.swiqi2.enable" type="toggle" defaule-value="1"/>
</tweak>
It will be shown as
Example2:
This tool is very helpful keep it up
Cool... Thanks.. :good:
Just finished creating OP, yet got 6 downloads....Expecting a review soon.
will try.. and review soon.. thank you sir..
Ohhhh Finally You posted the Tool
@bsuhas
Sir,
Finally you posted the tool. Every time while viewing your signature I was wondering that where have you posted the tool that I am not able to get. So this was the project you were working on Sir. Or there is some more surprises for us.
Just Downloading it and will review it in few minutes, though for full review we need at least two days time.
BTW It seems to be great like SUVI-Heart. Let me find out more from it.
Thanks for this awesome work. Not in a good position or I will surely prefer for donating you.
BOND1987 said:
@bsuhas
Sir,
Finally you posted the tool. Every time while viewing your signature I was wondering that where have you posted the tool that I am not able to get. So this was the project you were working on Sir. Or there is some more surprises for us.
Just Downloading it and will review it in few minutes, though for full review we need at least two days time.
BTW It seems to be great like SUVI-Heart. Let me find out more from it.
Thanks for this awesome work. Not in a good position or I will surely prefer for donating you.
Click to expand...
Click to collapse
Yeah. I updated my signature to this thread. This tool is a revised boosted enhanced version of old tool AAM (aka Android application manager)
Its more than 6 months work in the Suvi Tool. If you see the amount of source code written, you will get surprised.
It is going to be a famous universal software android tool for sure,wonderful job,hats off :thumbup::thumbup: :thumbup::thumbup::thumbup:
Sent from my A110 using xda app-developers app
showstopper1 said:
Brother if you make this tool universal to all devices for sure it will be a mega hit,wonderful job,hats off :thumbup::thumbup::thumbup:
Sent from my A110 using xda app-developers app
Click to expand...
Click to collapse
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
bsuhas said:
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
Click to expand...
Click to collapse
Will tell my friends about this tool as they are not familiar using their android ui
Sent from my A110 using xda app-developers app
I recommend you post it on Android Section so that it will reach Public's Great Work by the Way
Initial Reviews
@bsuhas
Sir,
I must say its a hard work of yours -- SUVI Universal Android Tools
Truly you are genius of Java Sir. First Thing to say, seriously everyone will love using it. But Sir, you are kicking the apps like ROM Manager, Rom Toolbox and other root apps doing same and killing mobiles spaces.
The UI is wonderful. Was thinking, that if you could do something to Dsixda's Android Kitchen's UI also. Personally felt.
The works and intial ornaments for build.prop tweaks are good for a noob like me also. Through that I managed proximity sensor of the 4.2 ROM and its working. Then rebooted through the tool. Everything I found to be great and after all its a SUVI-Heart Tool. Got something I will never skip using till the time I will be in this Android.
Once again I will like to thank you for the awesome work. Just great to have it and feeling like a dev after using the build.prop tweaks from that.
Bug :-
I got this while starting the program every time but it works cool and no effect on tool for this error.
"The program can't start because MSVr100.dll is missing from your computer. Try reinstalling the program to fix this problem."
bsuhas said:
It is a universal. I just have not released on that level. I will do it soon. Let it be more robust here first.
Click to expand...
Click to collapse
looks to be good. wish you well...
BOND1987 said:
@bsuhas
Sir,
I must say its a hard work of yours -- SUVI Universal Android Tools
Truly you are genius of Java Sir. First Thing to say, seriously everyone will love using it. But Sir, you are kicking the apps like ROM Manager, Rom Toolbox and other root apps doing same and killing mobiles spaces.
The UI is wonderful. Was thinking, that if you could do something to Dsixda's Android Kitchen's UI also. Personally felt.
The works and intial ornaments for build.prop tweaks are good for a noob like me also. Through that I managed proximity sensor of the 4.2 ROM and its working. Then rebooted through the tool. Everything I found to be great and after all its a SUVI-Heart Tool. Got something I will never skip using till the time I will be in this Android.
Once again I will like to thank you for the awesome work. Just great to have it and feeling like a dev after using the build.prop tweaks from that.
Bug :-
I got this while starting the program every time but it works cool and no effect on tool for this error.
"The program can't start because MSVr100.dll is missing from your computer. Try reinstalling the program to fix this problem."
Click to expand...
Click to collapse
You will feel more like developer after reading this guide
http://forum.xda-developers.com/showpost.php?p=45702603&postcount=5
All please see this guide to see the power of the tool.
bsuhas said:
You will feel more like developer after reading this guide
http://forum.xda-developers.com/showpost.php?p=45702603&postcount=5
All please see this guide to see the power of the tool.
Click to expand...
Click to collapse
WOW! I am a C# developer, and looking at that link and the tool I'm amazed how much work and effort you must have put into this tool! Great work bro! I'm sure this tool will go a really long way....... :good:
ibshar said:
WOW! I am a C# developer, and looking at that link and the tool I'm amazed how much work and effort you must have put into this tool! Great work bro! I'm sure this tool will go a really long way....... :good:
Click to expand...
Click to collapse
This will definely blow your mind. Best part of the Suvi Tool source code.
http://forum.xda-developers.com/showpost.php?p=45702551&postcount=3

[TOOL] Tingle - Android patcher

Description
File patcher to enable signature spoofing on Android (especially useful for projects like microG).
Success rate is now near 100%.
Download
Tingle (git version)
NOTE: Currently there isn't yet any release, only the git version.
Credits
@moosd (thanks for Needle)
@MaR-V-iN (thanks for the help)
@AnonVendetta (thanks for testing)
@Aaren11 (thanks for testing)
@ChristianTC (thanks for testing)
@_Kosmas_ (thanks for testing)
XDA:DevDB Information
[TOOL] Tingle - Android patcher, Tool/Utility for all devices (see above for details)
Contributors
ale5000
Source Code: https://github.com/ale5000-git/tingle
Version Information
Status: Testing
Created 2016-08-13
Last Updated 2017-11-04
Reserved
Reserved
@ale5000: I got the patch to work, I had to deodex my system APKs and JARs. Then I applied the patch. Everything works so far.
However, on a friend's LG D415 running 5.1.1 SlimROM, it fails. Phone still boots but MicroG says signature spoofing isn't enabled. Will post a log later.
Edit: I meant to say that my friend is running SlimROM v6.0.1 Marshmallow, not v5.1.1 Lollipop.
I also just tested your patch on my Galaxy Tab 2 7.0 (SM-P3113) running SlimROM 5.1.1. The patch works flawlessly. But I had to deodex it too. My friend's phone is already deodexed, not sure why it didn't work on his device.
AnonVendetta said:
My friend's phone is already deodexed, not sure why it didn't work on his device.
Click to expand...
Click to collapse
If you can, please post the original framework.jar so I can make some tests.
Here is his unmodified framework.jar.
I'm running the latest (7/8/2016) version of XenonHD on my LG G3 D855 for the past few days, and whereas I had no problem using needle to patch the build from a few months ago - this latest update throws an error even when using tingle.
I'm fairly certain I've set everything up correctly - I'm using my laptop at the hospital rather than my regular terminal, but I've installed Python 3, linked it in the PATH environmental variables updated Java RTE and made sure that I have working ADB drivers. Needle runs fine, pulls the framework and modifies it, but encounters an error. (I can post screenshots if necessary)
I've attached my unmodified framework.jar to this post, and any help possible would be most appreciated
The ROM is supposedly deodexed, so I haven't tried that yet, to be honest it isn't something I've ever done before or would know where to start with.
View attachment framework.jar
View attachment framework-res.apk
I have found the problem, I need some time to make some tests and trying to fix it.
In the first option FileNotFounError: [WinError 2]
In the second option comes off as all done but framework.jar modified it has the same MD5 that he framework.jar original
I leave the framework.jar, Thank you very much for your time
I'm stupid, I was going to Settings/Applications and mark all permissions and then I was going to
Settings/Privacy and mark all the permissions that were not marked and these permits are Disable app Wi-Fi usage and Disable app cellular usage, he was removing internet access.
I'm stupid.
Sorry.
The only thing that not works is the weather widget from Cyanogenmod 13, everything else works, synchronization contacts, calendar, Chrome and location for cellular it works.
Thanks for the help.
ChristianTC said:
In the first option FileNotFounError: [WinError 2]
Click to expand...
Click to collapse
What does it say if you run manually this?
Code:
adb devices
adb identifies the device as: 4df785271f4440c7
And for disconnect the device of the USB I have to kill process adb.exe from the Task Manager from Windows.
@ChristianTC: Can you please compress all the content of the folder of the patch with included your adb as you use it and put it here so I can try it directly?
ale5000 said:
@ChristianTC: Can you please compress all the content of the folder of the patch with included your adb as you use it and put it here so I can try it directly?
Click to expand...
Click to collapse
Here it is, I have this folder in C:/adb
@AnonVendetta and @Aaren11
You have both the same issue, the framework.jar you have contains 2 dex and the file to patch is inside the first dex but patching it exceed the limit of 64k methods (limit of a single dex) and so it fails, I have added a workaround in my code to move some methods in the second dex (that isn't full) so now it should work but always do a backup before use the patch to be sure.
Please report back if everything works.
@ChristianTC
- For the first option: I was only searching for system wide adb, it never use adb in the folder of the script; in the latest version it search adb also in the tools folder so place it here (after updating Tingle).
- For the second option: This option was added recently and the modified file was only kept in the temp folder, now it is copied to the output folder.
Please report back if everything works.
Tells me that All done but framework.jar modified It has the same MD5 that he framework.jar original.
ChristianTC said:
Tells me that All done but framework.jar modified It has the same MD5 that he framework.jar original.
Click to expand...
Click to collapse
It is really strange.
Try these steps:
1) Please make sure you have the latest version of Tingle (all files and folders, not just patch.py) by clicking "Clone or download" and then "Download ZIP" in the GitHub page.
2) Make sure to extract it in a user writable folder, like Documents; if you extract it under "C:\Program Files" then the patch may not have write permissions to write the file.
3) The patch read the file inside the input folder but write the final file in the output folder so it never overwrite the original file.
4) In case it still do not work open the command prompt with "Run as administrator" and then run the patch from here (it shouldn't really be needed but as last resort it can be tried).
One of the steps should hopefully fix the problem, please report back what happened.
@ale5000: Cancel my request, I caught my now ex-friend trying to steal from me, so I no longer have an incentive to help him with patching his framework.jar. However, if you would still like to provide a technical explanation as to why the patch didn't succeed, then I'd like to hear it anyway.
Sorry for the wasted time.....

[DEV][TOOL][Linux]Android System Extraction and Repack Tool

Introduction
You probably know already that starting from Android 5.x (Lollipop) compiled roms (aosp,cm,stock) are not compressed anymore the way they used to be on previous android versions. On previous versions all content inside /system folder that has to be extracted within our device was either uncompressed (simple /system folder inside our flashable zip) or compressed in a system.img file, which it is a ext4 compressed file; both of these, anyway, were readable and we could see all system files (app,framework, etc).
The problem comes in >=5.0 versions, this method is not used anymore. Why? Because roms started to be always larger, so it is necessary to compress them even more.
Note : Introduction was taken from here : https://forum.xda-developers.com/an.../how-to-conver-lollipop-dat-files-to-t2978952 by @xpirt so thanks to him
So in order to save myself and others who most port Custom & Stock Roms, i decided to use some part of my time to write this script for easy work done.
What this script does :
It basically Unpack and Repack system.new.dat alongside with file_context.bin convertion which is seen in android 7.0/7.1
ITS USAGE:
NOTE
First Clone the repo.
Make sure that Android_System_Extraction_and_Repack_Tool is located at Desktop
Run "Xtrakt" from it's location in terminal
Copy "file_contexts.bin" from your Rom to "file_context_zone" folder
Use "f" from menu to convert "file_contexts.bin" to text readable "file_contexts"
Copy : system.new.dat, system.transfer.list & file_contexts to "convert-dat" folder.
Use "i" from menu to unpack, which the output will be name as "rom_system" for modifications of apks & files.
Use "y" from menu to repack, which the complete new "system.new.dat", "system.patch.dat" & "system.transfer.list" will be located at "Finish-new.dat" folder
Done !
EXAMPLE:
Again , Make sure that Android_System_Extraction_and_Repack_Tool is located at Desktop
In your terminal, type the following to start the script:
Code:
git clone https://github.com/iykequame/Android_System_Extraction_and_Repack_Tool.git
mv android_system_extraction_and_repack_tool ~/Desktop/
cd ~/Desktop/android_system_extraction_and_repack_tool/
./Xtrakt
OR
Code:
Double-click the Xtrakt file and choose "Run in Terminal" if your OS supports it.
##ALERT!!!##
sudo is requested in the script.
How To Get It {Tool]
Clone from one of the below ;
From GITHUB :
Code:
git clone https://github.com/iykequame/Android_System_Extractrion_and_Repack_Tool.git
From BITBUCKET :
Code:
git clone https://[email protected]/zac6ix/android_system_extraction_and_repack_tool.git
Or
Download zip
AFH
GIT-RELEASE
Sources :
Android_System_Extraction_and_Repack_Tool
GITHUB
BITBUCKET
Threads :
sdat2img 1.0 - img2sdat 1.2
For file_context.bin conversion by: Pom Kritsada @ MTK THAI Developers.
Credit to :
@xpirt
@SuperR.
-all xda threads which helped
-Android Matrix Development - here
-Nana Yaa for her time.
hi, your tool sounds good but it seems it doesnt work.
i press f and nothing happen ..
Use "f" from menu to convert **"file_contexts.bin"** to text readable **"file_contexts"**
Blackball said:
hi, your tool sounds good but it seems it doesnt work.
i press f and nothing happen ..
Use "f" from menu to convert **"file_contexts.bin"** to text readable **"file_contexts"**
Click to expand...
Click to collapse
Sorry for the Late reply !
Directories linking has been fix .
You can go ahead and try again
Thanks for sharing!
Don't work
When i press i ..Don't work.say file missing.but i already put all file..Please help meView attachment 4249470
Doesn't do anything with file_context.bin, doesn't even check if file is there.
oreo supported???
I am getting this error on repacking:-
Code:
WARNING! WARNING!! WARNING!!!
Please Check & Trace Where Errors.
There Is NO rom_system found
file_contexts -->> Missing !
Android SDK -->> not detected !
Please help.
Black_J said:
I am getting this error on repacking:-
Code:
WARNING! WARNING!! WARNING!!!
Please Check & Trace Where Errors.
There Is NO rom_system found
file_contexts -->> Missing !
Android SDK -->> not detected !
Please help.
Click to expand...
Click to collapse
I see that this thread is not supported.
Anyways, I observed that the tool works for file_contexts.bin but not for other options.
So , I followed the other link in the thread for individual commands and was successful.
Works perfectly on Android Pie! Have to do some tweaks, PM me if anyone wants to make this work for Android Pie.

Categories

Resources