Related
On my N1 (CM 5.0.6), I use custom versions of the Droidsans fonts that are modified to include Thai language support. Every time I flash new rom, they get overwritten, of course. Previously, I'd restore them via adb push, but I'd like to let them live in a directory on my sdcard, and restore them from the phone itself.
So I tried to write a .sh script to copy them over to /system/fonts, and then just run it from the busybox terminal emulator that's included in CyanogenMod.
The files are named the same as the stock fonts, of course.
So my script is basically a series of 'cp -f /font/on/sdcard /system/fonts/fontname'
But when I run it, the wont copy. It says it can't create the files, 'File exists'
I thought the -f option was the 'force overwrite' option, no?
What am I doing wrong?
I ran the script as root, I tried it in gscript. Now what?
Thanks.
This will be an often-updated guide to all the latest successes of getting a quality port of CyanogenMod, a custom Froyo based Android distribution.
This thread was originally intended to be specific to the Coby Kyros, but since most issues relate to all Telechips tablets, it may prove useful to owners of other such devices as well.
Things we have working: Touchscreen, Screen Roation, WiFi (Connects to AP and Ad-Hoc), Market, Texting via Google Talk.
Things we have kinda working: WiFi can be a little wanky, but if you disable and re-enable it works fine.
Things that do not work/Issues: Some apps not working (like Angry Birds) due to sdcard not being properly addressed, video play back, sound recording is very nasty, missing on screen volume controls, occasionally the input box is not updated with what you're typing, but when you hide the keyboard the text is there.
Further Reading:
Most of the development for the Kyros 7015 has taken place in this thread.
and the developement of Cyanogen for Telechips tablets has taken place in the thread (on slatedroid.com).
Also check out my tutorial for Getting the Most Out of Eclair (Android 2.1) for this same device.
Instructions
1. Download and install ClockworkMod .
2: Preparations. If you have not already, install Android SDKto your PC. Download bootimage and system image. Create a "Cyanogen" folder in the clockwork/backup folder on your SD card and unzip both files into this folder. I also renamed and placed my recovery.img in here.
Contents of /Cyanogen
Code:
boot.img
nandroid.md5
recovery.img
system.img
3: Getting Some Files from Eclair. Connect your tablet to your PC and issue the following commands using ADB (Note: This step is to be done from Android 2.1, not from a previous version of CyanogenMod. If you already have CyanogenMod install, please revert to Android 2.1 to retrieve these files)
Code:
adb pull /sys/class/input/input1/calc_table calc_table
adb pull /data/softmac softmac
This should copy the calc_table and softmac files to the directory where ADB is located. Leave them where they are, and place build.prop and sensors.tcc92xx, from COBY7015-fixpack in there as well.
4: "Restoring" CyanogenMod. Boot into recovery mode (hold down front button and press the reset button on back of device). You should now be in ClockworkMod. IF YOU HAVEN'T ALREADY, MAKE A BACKUP! Choose "Wipe data / factory reset" and then "backup and restore." Restore from Cyanogen folder.
5: Restoring Some Key Files. With your tablet connected to your PC, issue the following ABD commands, taking care to keep your tablet awake:
Code:
adb remount
adb push build.prop /system/
adb shell chmod 644 /system/build.prop
adb push calc_table /system/etc/
adb shell chmod 644 /system/etc/calc_table
adb push sensors.tcc92xx.so /system/lib/hw/
adb shell chmod 644 /system/lib/hw/sensors.tcc92xx.so
adb push softmac /data/softmac
adb shell chmod 644 /data/softmac
adb reboot
After your tablet finishes rebooting, you should notice you have a working touch screen.
6: Enabling Google Apps. Download gapps-mdpi-tiny-20101020-signed.zip and MarketUpdateFroyoHdpi.zip. Place onto your SD card and reboot into recovery.vChoose "Install Zip from SDcard" and install gapps-mdpi-tiny-20101020-signed.zip and then MarketUpdateFroyoHdpi.zip. Reboot and accept the terms of the market!
7: Texting using Google Voice. Here is how to text with Google voice. You will need a working android phone (probably needs to be rooted) with Titanium Backup installed. Set up Google Voice on the phone-- make sure you opt for the Google phone number as that is the number you will be texting from. Once up and running, back up the program using Titanium. On the tablet, install Titanium Backup and use it to restore the Google Voice program (App+Data) to your tablet. (You may have to copy the backup files to the Titanium directory on the INTERNAL drive.) Once Google Voice Launches, switch back to Titanium Backup-- do not try to set up Google Voice. Titanium backup will then restore the data for Google Voice. You should now be able to text from your tablet.
This is all I have right now, more to follow.
Wouhou, first post!
thanks for that thread. Really great idea. I'll contributed at the best of my knowledge. Really like what you guys are doing and hope to have CyanogenMod fulling (or almost fulling) working.
stoned99 said:
Wouhou, first post!
thanks for that thread. Really great idea. I'll contributed at the best of my knowledge. Really like what you guys are doing and hope to have CyanogenMod fulling (or almost fulling) working.
Click to expand...
Click to collapse
Hope this helps, and I hope we can get everyone working on Cyanogen for the 7015 over to this thread to keep from getting this and the 2.1 root/mod project from getting too intermingled/confused.
Thanks. Finally had 15 minutes to install it and test it. Your procedure worked like a charm!
Only thing: Just add to fun_'s proedure for build.prop a shell like this
adb shell chmod 644 /system/build.prop
Great guide!
stoned99 said:
Thanks. Finally had 15 minutes to install it and test it. Your procedure worked like a charm!
Only thing: Just had to fun_'s proedure for build.prop a shell like this
adb shell chmod 644 /system/build.prop
Great guide!
Click to expand...
Click to collapse
Thanks, I got that error fixed.
I uploaded 12/12 build. to avoid confusion, old build was removed.
please update #2.
sorry for this inconvenience.
Fun_
So are the files under the obsolete folder now on that website.
Also wondering if someone can do a clockworkmod of the image
with most of the files edited I think for new peeps this will make it easier.
I have not flashed mine yet as I use it for video alot and
if that isn't working then it doesnt do me much good right now
adamdietrick could you modify your procedure for the new one and also add to do a nandroid backup as some new people with Android might not know it's important. I tested the procedure it's working fine.
so globally it would be something like that. Please modify it so it can be more easily to follow:
1) clockwork
2) Backup your nand: ClockworkMod recovery, backup and restore, backup
3) When booted in Eclair (stock rom):
adb usb
adb pull /sys/class/input/input1/calc_table calc_table
adb pull /data/softmac softmac
*be sure to know where the files are copied to your pc because you'll need to add them back on your device later.
4) Copy all files (system.img, boot.img, nandroid.md5) in the clockwordmod backup folder on sdcard
5) Restore from backup, choose Cyanogenmod
6)adb remount
adb push build.prop /system/
adb shell chmod 644 /system/build.prop
adb push calc_table /system/etc/
adb shell chmod 644 /system/etc/calc_table
adb push sensors.tcc92xx.so /system/lib/hw/
adb shell chmod 644 /system/lib/hw/sensors.tcc92xx.so
adb push softmac /data/softmac
adb shell chmod 644 /data/softmac
**at some point, you might loose connectivity with the device and waking up from sleep might not help, just unplug the usb cable, plug back in and type adb usb in the command prompt window
adb reboot
... continue with your current step 6 to 8 (install Gapps, market update and Google Voice)
Procedure was mostly taken from the readme file of fun_ so all credits go to him.
stoned99 said:
adamdietrick could you modify your procedure for the new one and also add to do a nandroid backup as some new people with Android might not know it's important. I tested the procedure it's working fine.
so globally it would be something like that. Please modify it so it can be more easily to follow:
1) clockwork
2) Backup your nand: ClockworkMod recovery, backup and restore, backup
3) When booted in Eclair (stock rom):
adb usb
adb pull /sys/class/input/input1/calc_table calc_table
adb pull /data/softmac softmac
*be sure to know where the files are copied to your pc because you'll need to add them back on your device later.
4) Copy all files (system.img, boot.img, nandroid.md5) in the clockwordmod backup folder on sdcard
5) Restore from backup, choose Cyanogenmod
6)adb remount
adb push build.prop /system/
adb shell chmod 644 /system/build.prop
adb push calc_table /system/etc/
adb shell chmod 644 /system/etc/calc_table
adb push sensors.tcc92xx.so /system/lib/hw/
adb shell chmod 644 /system/lib/hw/sensors.tcc92xx.so
adb push softmac /data/softmac
adb shell chmod 644 /data/softmac
**at some point, you might loose connectivity with the device and waking up from sleep might not help, just unplug the usb cable, plug back in and type adb usb in the command prompt window
adb reboot
... continue with your current step 6 to 8 (install Gapps, market update and Google Voice)
Procedure was mostly taken from the readme file of fun_ so all credits go to him.
Click to expand...
Click to collapse
Starting work on it now (that I'm not sleeping). This is what happens when fun_ brings out new version at bed time!
LOL
don't worry, you can do it after your sleep. It's just that if some people moved to CyanogenMod with the current guide, they'll need to restore their eclair nanddroid backup to their device to grab the calc and software or use linux to mount system.img and extract calc_table and softmac. I can provide you the linux procedure in case you want to add it (for people who don't want to restore their eclair rom)
stoned99 said:
LOL
don't worry, you can do it after your sleep. It's just that if some people moved to CyanogenMod with the current guide, they'll need to restore their eclair nanddroid backup to their device to grab the calc and software or use linux to mount system.img and extract calc_table and softmac. I can provide you the linux procedure in case you want to add it (for people who don't want to restore their eclair rom)
Click to expand...
Click to collapse
That would be great to have. I had to restore mine last night to run this procedure.
Weird, the procedure I used to use with my Android file with my iphone (I had dual boot IOS and Android) doesn't work. I might not be the same systemfile. I'll try something else and let you know if I solve it
Just out of curiosity, (as I don't have time to read through the slatedroid forum) Has there been anything figured out on:
1. video playing on cyanogen
2. games loading full size ( if I change the lcd density it solves this problem but then everything is way too large, is there a way to make it to where the density changes for the games and only the games?)
3. Games that install to the sd card having problems i.e. angry birds, and asphalt?
I know these have probably been answered over on slatedroid but like I said I just don't have time to read through over 200 pages, especially where most of it is stupid newbie crap that is probably making it very hard for asure, venomous, and fun_ to get any actual feedback on stuff.
I was able to mount the system and ramdisk. Unfortunately it seems the files (calc_table and softmac) are not in there. I see a folder called sys and a folder called data in the ramdisk but don't see any files inside. Maybe it's in the kernel. I was able to extract the kernel from the boot.img but can't mount it. Oh well, people will have to restore from their nandroid backup if they want to pull the files.
Sorry
stoned99 said:
I was able to mount the system and ramdisk. Unfortunately it seems the files (calc_table and softmac) are not in there. I see a folder called sys and a folder called data in the ramdisk but don't see any files inside. Maybe it's in the kernel. I was able to extract the kernel from the boot.img but can't mount it. Oh well, people will have to restore from their nandroid backup if they want to pull the files.
Sorry
Click to expand...
Click to collapse
softmac may be in data.img of eclair nandroid backup.
calc_table is only in live system. please restore eclair firmware and reboot.
dhadlock said:
1. video playing on cyanogen
Click to expand...
Click to collapse
no hardware decoding yet. please use rockplayer for armv6+vfp (consume CPU power...)
dhadlock said:
2. games loading full size ( if I change the lcd density it solves this problem but then everything is way too large, is there a way to make it to where the density changes for the games and only the games?)
Click to expand...
Click to collapse
try Compatibility off in SpareParts
dhadlock said:
3. Games that install to the sd card having problems i.e. angry birds, and asphalt?
Click to expand...
Click to collapse
I have no idea.
I'm suffering where/how to talk worthfully
(here is OK, of course
fun_ said:
no hardware decoding yet. please use rockplayer for armv6+vfp (consume CPU power...)
try Compatibility off in SpareParts
I have no idea.
I'm suffering where/how to talk worthfully
(here is OK, of course
Click to expand...
Click to collapse
Just to let you know, I have tried the disabling the compatibility setting with no success.
adamdietrick said:
Just to let you know, I have tried the disabling the compatibility setting with no success.
Click to expand...
Click to collapse
what app "no success"?
recently some tablets with large screen are sold from major company. it may make things better with app update... (just my hope, sorry)
fun_ said:
what app "no success"?
recently some tablets with large screen are sold from major company. it may make things better with app update... (just my hope, sorry)
Click to expand...
Click to collapse
The only two I have had issues with. Kitchen timer, raging tunder.
Hi all, im making a NEW thread for how to make custom ROM, change build.prop, how to theme (coming later)! i will make a colection of how to´s to this thread for now all of the how to´s are made by me but in future i will take how to´s from others too (with their permission ofc )
so subscribe to this thread!!
i hope that there will be many custom ROMs after this
now you all think why did i do this if theres another tutorial for making custom ROM? answer: this is good alternative and this is not just one HOWTO!
HOWTO´S
-custom ROM
-edit build.prop
-5 lockscreen mod and extended power menu
-deodexing
-install android sdk and use ADB
-port themes (coming later)
-make own bootanimation (coming later)
** you can also post your ideas for new how to´s!!!
have a nice day
p.s dont blame me if something happens to your device while doing these how to´s
p.p.s if you want some special how to you can always suggest it in this thread
[HOWTO] make a custom ROM
How to make custom rom:
you will need: ADB, root explorer (maybe) and the files that are going to be in your rom!
the guide is based on The Dark Lestat's guide, i made it more easier and specific
code to delete unwanted apps: (if ADB)
Code:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
rm /system/app/nameofapk.apk
code to add apps and stuff: (if ADB)
Code:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
exit
exit
adb push nameofapk.apk /system/app/
1. flash the ROM that will be your ROMs base. example: my ROMs base is JPM so i flashed clean JPM
2. make a list of the features that are going to be in your ROM
3. then start adding those features. example: i added live wallpaper support so i did this --> http://forum.xda-developers.com/showthread.php?t=793823 i also added JIT so i ran the automatic batch file from the thread --> http://forum.xda-developers.com/showthread.php?t=1026870 . then you just add those features.
4. put your sd card on to your phone (if it isnt there already )
5. when your done adding different features you go to ADB and type this:
Code:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
dd if=/dev/block/stl6 of=/sdcard/factoryfs.rfs
then you wait about 2 minutes and there will be some text and then you type this
Code:
exit
exit
and in your sd-card will be freshly created factoryfs.rfs, import your freshly created factoryfs.rfs to your desktop. now you choose your kernel.
5. kernel, download the kernel you want to your desktop.
6. download total commander to your pc
7. open total commander, open the base ROM.tar. example: my base ROM was JPM so i opened the JPM.tar and replaced the kernel and factoryfs.rfs with my factoryfs.rfs and my kernel (fugumod 2.2) using total commander.
delete everything else in the .tar but, Cache.rfs, factoryfs.rfs, zlmage and data.rfs and the logo!
then you test if you can flash your ROM... if it boots, you did it. if it doesnt, try again.
[HOWTO] edit BUILD.prop
HOW TO change firmware version, phone model, build version in "about phone"
1. open root explorer
2. go to /system, find build.prop, change to read/write mode. open the build.prop in text editor
* change build version: 4th line should say ro.build.display.id=(here you write your build version name), reboot and check build version in "about phone"
* change model number: 15th line should say ro.product.model=(here write your model number ), reboot and check model number in "about phone"
* change firmware version: 8th line should say ro.build.version.release=(here write your firmware version, like 3.0 honeycomb ), reboot and check firmware version in "about phone"
you can also change different things but ill write a guide of that later
hope you like it!
[HOWTO] port a THEME
reserved for later use
[HOWTO] get 5 lockscreen mod and extended power menu
-your ROM must be deodexed!
-you can get extended power menu and 5 lockscreen mod by downloading this --> http://www.megaupload.com/?d=PKHVA57W
-extract it to root of your sd-card
-open root explorer and copy/paste the files to /system/framework
-reboot and done
OR
use adb like this:
Code:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
exit
exit
adb push nameoffile.jar /system/framework/
-reboot and done
***NOTE rebooting might take some time so dont panic
[HOWTO] deodex ROM
you must be rooted
What you'll need:
A Windows based machine
xUltimate v2.2
Patience
Process:
-Unzip xUltimate v2.2, and launch "Main.exe"
-If everything goes well xUltimate should recognize the phone and make a connection. You now should see a list of options.
-Run option 1. After option 1 is done, run option 2.
-Now these well take a while. Run option 3.
-IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex" (if you even have it). It's a bad file, and interferes with deodexing process.
-Now run option 4, and wait.
-Exit xUltimate, and put the phone in USB mass storage.
-Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
-Open a command prompt, and do the following:
Code:
adb shell
su
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
rm /system/app/*.odex
rm /system/framework/*.odex
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot
and voila your phone is deodexed
original guide by webst3r, i changed it so its easier to understand
[HOWTO] get ADB up and running (easy way)
ADB is an acronym for Android Debug Bridge and is a development tool for the Android Mobile Operating System
NOTE this is only for windows!
-open this link --> http://adf.ly/Xfyl wait 5 secs and click upper right corner "skip ads" it will download a program that automaticly installs android sdk (wich includes ADB)
-Open the app, leave the destination as C:\ and click ok/install
-Installing ADB/USB Drivers:
*NOTE* You may need additional (Device Specific) Drivers for your Device!
- Connect your Android Device to your PC using the provided USB Cable or just a plain ole 6-pin to 4-pin usb cable... (I prefer to use one with a ferite core)
- When the new hardware device notification pops-up on your pc point windows to the driver folder we moved to our C-drive(C:\android-sdk-windows\google-usb_driver) and install the adb driver.
** if your having issues with installing ADB drivers read this --> http://dl.dropbox.com/u/20575563/ADB_Drivers_for_dummies.pdf
-Running ADB from the Command Prompt:
-Windows XP: Select Start or Tap the Windows Key on your Keyboard, select
"Run" and type "CMD" then hit "Enter".
-Windows Vista/Win7: Select Start or Tap the Windows Key on your Keyboard, select the search box on the left and type "cmd" then hit "Enter".
Add the "ADB" directory path as a system variable in windows:
-To do this right-click on "My Computer" and select Properties. Next select the Advanced tab(Advanced Settings in Vista/7) then select Environment Variables.
-Click "New" under System Variables and add the following:
Variable =
Code:
adb
Value =
Code:
C:\android-sdk-windows\platform-tools
-Call up your Command Prompt:
Time to start adb
- Open up a Command Prompt Windows
- Type the commands below:
Code:
cd C:\android-sdk-windows\platform-tools
<-- Press Enter
Code:
adb.exe
<--Press Enter
and voila You will see alot of scripting fly through the command prompt window.
***note! you have to enable usb debugging in --> settings --> applications --> developement --> check usb debugging
tutorial is not made by me, its made by AndroidSamurai. i found it after lot of researching
[HOWTO] make your own update.zip
download and install, then watch the video
http://youtu.be/i0KzFPMA6-8
program and video made by Daneshm90
balaji.admin said:
Please include a Post for Deodexing the ROM. I've tried to deodex the DDJP2. But never succeeded.
Hope your post will help me.
Click to expand...
Click to collapse
there is a tut by rudolf..
[HOWTO] change app icon
How to change icons for app!
1.)
Things you need:
original app
your custom icon (size should be 48x48)
win rar
2.)
Unpack APK
3.)
Find file, for example: ic_launcher_settings.png (for settings.apk)
It should be in: res/drawable-mdpi or res/drawable-ldpi (dont know which icon phone uses, just replace both)
4.)
Rename you icon to, for example: ic_launcher_settings.png (for settings.apk)
5.)
Replace it
6.)
Final step is add files to old settings.apk archive and using root explorer copy it into /system/app/
DONE!
guide by peldax
jazux said:
hey, one question coming from me our device has the same resolution as htc wildfire? right? and device is ldpi or mdpi? please answer ASAP!!! i may have found very useful HOWTO that you will LOVE!!!
>>>>>>>>>>>>>>>>>>>>>>>>>
POX v.1.0 beta 2 released! be sure to try it out :]
<<<<<<<<<<<<<<<<<<<<<<<<<
GreeModding from finland :]
Click to expand...
Click to collapse
galaxy3 has ldpi - look there: http://developer.android.com/guide/practices/screens_support.html
jazux said:
-your ROM must be deodexed!
-you can get extended power menu and 5 lockscreen mod by downloading this --> http://www.megaupload.com/?d=PKHVA57W
-extract it to root of your sd-card
-open root explorer and copy/paste the files to /system/framework
-reboot and done
OR
use adb like this:
Code:
adb shell
su
mount -o remount,rw /dev/block/stl9 /system
exit
exit
adb push nameoffile.jar /system/framework/
-reboot and done
Click to expand...
Click to collapse
is this suit for every rom?
dxdiag32 said:
is this suit for every rom?
Click to expand...
Click to collapse
what do you mean? like does this work on other fw's than JPM? im not sure because i havent tested it, but i think it should work.
but it will surely work on every JPM based ROMs
>>>>>>>>>>>>>>>>>>>>>>>>>
POX v.1.0 beta 2 released! be sure to try it out :]
<<<<<<<<<<<<<<<<<<<<<<<<<
GreeModding from finland :]
Hey man a really nice tutorial
Can you add my tutorial on how to make bootanimations too
It would be appreciated
P.S. : If you tell yes,i'll give you a shortened version too
Deodexed Rom? How can i do it?.
cdesai said:
Hey man a really nice tutorial
Can you add my tutorial on how to make bootanimations too
It would be appreciated
P.S. : If you tell yes,i'll give you a shortened version too
Click to expand...
Click to collapse
yes i can add it
>>>>>>>>>>>>>>>>>>>>>>>>>
POX v.1.0 beta 2 released! be sure to try it out :]
<<<<<<<<<<<<<<<<<<<<<<<<<
GreeModding from finland :]
AndroKite said:
Deodexed Rom? How can i do it?.
Click to expand...
Click to collapse
ill do a tutorial later tonight!
>>>>>>>>>>>>>>>>>>>>>>>>>
POX v.1.0 beta 2 released! be sure to try it out :]
<<<<<<<<<<<<<<<<<<<<<<<<<
GreeModding from finland :]
AndroKite said:
Deodexed Rom? How can i do it?.
Click to expand...
Click to collapse
for now you can use this:
Thanks,i dont remenbre that you make a tutorial ,Thx.
AndroKite said:
Thanks,i dont remenbre that you make a tutorial ,Thx.
Click to expand...
Click to collapse
you welcome
{
"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"
}
First Lets know some Basic knowledge about DEODEX/ODEX...
What is Odex and Deodex ROM
What is an ODEX file?
In Android file system, applications come in packages with the extension .apk.
These application packages, or APKs contain certain .odex files whose supposed function is to save space.
These ‘odex’ files are actually collections of parts of an application that are optimized before booting.
Doing so speeds up the boot process, as it preloads part of an application.
On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
What is an DEODEX file?
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files.
By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
So, Deodexed ROMs (or APKs) have all their application packages put back together in one place,
allowing for easy modification such as theming. Since no pieces of code are coming from any external location,
custom ROMs or APKs are always deodexed to ensure integrity.
How this works?
For the majority noobs amongst us, Android OS uses a Java-based virtual machine called the Dalvik Virtual Machine.
A deodexed or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK.
An .odex file, on the other hand, is an optimized version of this same .
dex file that is stored next to the APK as opposed to inside it.
Android applies this technique by default to all the system applications.
When an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages.
Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
Advanteges & Disadvantages
The advantage of deodexing is in modification possibilities.
This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first,
since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times.
However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used.
Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
Note:Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Lets Start...
GUIDE TO DEODEX STOCK ROM
Java Development KIT
(Download & Setup Guide)
ANDROID SDK
xUltimateV2.3.3
(only this version is capable with samsung device)
Official Link to xUltimate : POST #5
7-Zip
(32-Bit & 64-Bit)
1.Download android-sdk & extract it.
2.Copy sdk folder & paste it into
Code:
C:\Program Files\Android
3.Change name from SDK to Android.sdk.
(inside folder look like this)
4.you need to flash stock firmware first & Root your device.
5.Connect your phone to computer.(Make sure you have select USB debugging in Settings>Applications>Development)
6.Download & extract xUltimate zip.
7.Launch Main.exe(Run as administrator)
8.If everything goes well xUltimate should recognize the phone and make a connection.You now should see a list of options.
9.Select option (1) pull /system/app. Wait until it complete.
10.Select option (2)pull /system/framework. Wait until it complete.
11..Then select option (3) Deodex /system/app. Wait until it complete.
[If encounter any error. Find out which .odex file is it. Then remove .odex file from folder origi_app in xUltimate folder]
(i found 5 errors so i attached that app's deodex files below you just want to paste in system/app when this process complete)
12.Then select option (4)Deodex /system/framework. Wait until it complete.
13.DONE : your rom is now deodex. Now Exit from xUltimate
Now there are 2 ways to install deodex files in device
1. from Android.SDK
From Android.SDK :
1.Put the phone in USB mass storage.
2.Go to xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
3.Now get out from USB storage mode.
4.Go to
Code:
C:\Program Files\Android\android.sdk
& open command promote there.
5.Enter following codes.
(if you are using adb shell in su for the first time, keep phone screen on. After entering "su" code, super user request prompt in phone. Press allow )
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/done_app/* /system/app/
rm /system/app/*.odex
cp /sdcard/done_frame/* /system/framework/
rm /system/framework/*.odex
mount -o ro,remount /system/ /system/
reboot
6.Now you have deodexed rom.
2. from SampleDEODEX.zip file attached below.
From zip file attached
1.open zip given as archive.
(use 7.zip but DO NOT EXTRACT.)
2.go to system/app folder & paste here all your deodexed apk's
3.same for for system/framework to paste framework files.
4.done, paste it in your SD-Card & flash through CWM.
STILL IF YOU FACE ANY ERROR
Especially Android 4.1 + (JB) users
Try this method Updating xUltimate tool manually.
asm-xda said:
First of all, thx for the OP. This method for Deoexing works fine, I needed to make a few updates - described below - in order to make it work on my GT-P3113 device, running JB 4.2.2.
OK. So, you have already made sure JDK is properly installed but still can't succeed? Check the following... These are the changes I had to make to deodex my ROM.
1. Get the latest version of xUltimate. It's version 2.4.2: http://www.xeudoxus.com/android/xUltimate-v2.4.2.zip. If you got version 2.3.3 and accepted to download latest version, you were directed to a thread that is not updated with the latest version. Check post #549 on that thread to find the link I've pasted above.
2. If you happen to have Android 4.2.2 on your device, ADB needs to be updated. xUltimate has version 1.0.26 which won't properly connect with your device. NOTE: you can tell which version of adb you are using by running this: adb version
So:
Install the latest version of the Android SDK to get ADB version: 1.0.31 (or later, should be fine).
Locate and copy over these 3 files from the Adnroid SDK install folder into xUltimate-v2.4.2\jar replacing the existing ones:
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
3. I don't know this step is a must for everyone, but it was for me. The assembler/deassembler for .dex file format must be upgraded too. The version in the jar folder in xUltimate-v2.4.2 didn't work fine with the .odex files in my stock ROM.
So:
Download smali.jar and baksmali.jar from here: https://code.google.com/p/smali/. I got version 1.4.2 but any above that should work fine too for the latest available ROMs I guess.
The 2 files probably include the version number in the filename ( i.e.: smali-1.4.2.jar and baksmali-1.4.2.jar). Rename them so they are called: smali.jar and baksmali.jar.
Copy (& replace) those 2 files into xUltimate-v2.4.2\jar folder.
So, that's it. After doing all the above, I managed to deodex my ROM. Well... not quite... there's something else.
After doing the steps above, you should go ahead and follow instructions in the first post of the thread. If everything works, then you are done! Say thanks to OP and enjoy your deodexed ROM. :good::victory:
If however, you still encounter errors while running the xUltimate tool, keep reading...
NOTE: The following is probably only true for certain devices (like mine) so disregard if you don't find any error while following OP steps to deodex.
I got into errors deodexing these files: SamsungIME, SecEmail_Tablet, SecSetting and SecExchange.
Since I couldn't find how to make them work, I decided to leave those files odexed. I'm not sure if that was a good idea or not, but it's fine for me because in my case I actually wanted to deodex some specific apks, not really all of them.
If you decide you want to skip some files (as I did), you'll need to proceed as follows:
Take note of the files that couldn't be deodexed and move those files from the orig_app or orig_frame folder into a new folders, let's call them: "no_deo_app" and "no_deo_frame". Ensure you move the .odex file + .jar file (in case it exists). Make really sure you move files into the right folder: "orig_app" into "no_deo_app" and "orig_frame" into "no_deo_frame".
Run the deodexing again until everything works fine. If you find another file that gives you problem, you do step 1 and 2 again until the tool completes all files successfully.
Now you have 4 folders that are relevant: "done_app", "done_frame", "no_deo_app", "no_deo_frame". Copy all of them into the root of your sdcard.
Now, get into adb shell as superuser access as described in OP following the commands below instead of the ones in the OP. Basically the difference will prevent you from deleting the odex file for the apps that couldn't be deodexed.
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/done_app/* /system/app/
rm /system/app/*.odex
[COLOR="red"][B]cp /sdcard/no_deo_app/* /system/app/[/B][/COLOR]
cp /sdcard/done_frame/* /system/framework/
rm /system/framework/*.odex
[COLOR="Red"][B]cp /sdcard/no_deo_frame/* /system/framework/[/B][/COLOR]
mount -o ro,remount /system/ /system/
reboot
Well, that was it for me . This is what I've done to doedex my stock JB 4.2.2 ROM my Galaxy Tab 2 7.0 tablet.
Regards!
Click to expand...
Click to collapse
thanks to @asm-xda
4real*leb
Xeudoxus
and
asm-xda
(for finding the way to deodex rom for Jellybean User)
GALAXY Ace Plus User's : GO HERE http://forum.xda-developers.com/showthread.php?p=43835177#post43835177
Cool
omarilzz said:
Cool
Click to expand...
Click to collapse
:fingers-crossed: Thanks bro
will this work with any phone?
i have an alcatel OT X'pop. will this work? 4.1.1?
aldnnnn said:
i have an alcatel OT X'pop. will this work? 4.1.1?
Click to expand...
Click to collapse
YES it does work on any device...
first give a try on above 2.3.3 xUltimate version if u face any issue download latest version v2.4 from here ;
follow same steps like above :highfive:
nice method but it is easier from dsixda's kitchen(cygwin)
cant recognized device
i think ive done everything but still wont recognize my device.
any suggestions?
ManzzaShahi said:
nice method but it is easier from dsixda's kitchen(cygwin)
Click to expand...
Click to collapse
i know...
but that kitchen doesn't deodex our device's apk files as much this xUltimate do
i don't know why
but i tried every step (I have kitchen & several kind software's too) & found easiest way is this only to deodex ur apk files :fingers-crossed:
aldnnnn said:
i think ive done everything but still wont recognize my device.
any suggestions?
Click to expand...
Click to collapse
Give a try on newer version v2.4 I gave link above in that pic.
coz it has ICS Razor support.
or you have to check whether your java works fine or not.
go through some youtube video's to find how to setup JAVA or follow guide below;
JAVA Development KIT
< Guide How to Setup JAVA >
Download JAVA Development Kit & install it first.
go to desktop, right click on
computer > properties >:highfive>Advance system setting> in advance tab environment variables
First : In user variable for ***
click new & type
Code:
variable name : CLASSPATH
variable value : C:\Program Files\Java\jdk1.7.0_21\jre\bin (your java installed path varies on your installed location)
Second : In system variables
click new & type
Code:
variable name : PATHTEXT
variable value : .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
also check in path is there above java path present or not if not just add it BUT do not remove old codes from line...!!!
j.posarekar70 said:
< Guide How to Setup JAVA >
Download JAVA Development Kit & install it first.
go to desktop, right click on
computer > properties >:highfive>Advance system setting> in advance tab environment variables
First : In user variable for ***
click new & type
Code:
variable name : CLASSPATH
variable value : C:\Program Files\Java\jdk1.7.0_21\jre\bin (your java installed path varies on your installed location)
Second : In system variables
click new & type
Code:
variable name : PATHTEXT
variable value : .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
also check in path is there above java path present or not if not just add it BUT do not remove old codes from line...!!!
Click to expand...
Click to collapse
missed this part of installing java
thanks!
will try again soon because i dont have my phone right now.
also i i have these folders in the same java folder
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
do i need these files?
aldnnnn said:
missed this part of installing java
thanks!
will try again soon because i dont have my phone right now.
also i i have these folders in the same java folder
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
do i need these files?
Click to expand...
Click to collapse
You may keep aside coz u wanna download java development kit which is jdk for that jre doesn't matter...
just for suggestion remove older version of jre from ur pc if u have jre7.
can u help every system file i try to deodex gives error and when i move to another it again gives error what to do same is with framework
tejasvi1 said:
can u help every system file i try to deodex gives error and when i move to another it again gives error what to do same is with framework
Click to expand...
Click to collapse
It would be great if u tell me which device u using to deodex files...
& also if possible attach error screen image/attach log file.
sent from Tapatalk 4
thks for replying , i am using my laptop for deodex my stock jellybean firmware on xperia ion
tejasvi1 said:
thks for replying , i am using my laptop for deodex my stock jellybean firmware on xperia ion
Click to expand...
Click to collapse
well you just have to skip those apk's which cause these errors...
close this window, go in Orig_app folder & delete related apk + its .odex file & give another try.
if error appear in another apk do the same.
some apk's wont get deodex through this app you just have to delete those & move forward.
.
.
.
if u get error in each system apk then download older version's of xUltimate app from this POST #5
Awsm buddy by the way i have a xperia mini(stock ics) . Will this work on it ?
sadab said:
Awsm buddy by the way i have a xperia mini(stock ics) . Will this work on it ?
Click to expand...
Click to collapse
Keep backup
give a try
follow each steps
Nice guide! I followed it when I created my ROM! Very useful! tnx
Hope it works on my samsung galaxy pocket
I will try on my samsung galaxy pocket coz i want the s3 status bar so hope it works without any issues if i have some problem i will tell u guys
---------- Post added at 02:16 PM ---------- Previous post was at 02:10 PM ----------
Plzz check and tell me that will it work on my Rooted Samsung Galaxy Pocket plzz thnx in advanced
KumailHyderMirza said:
I will try on my samsung galaxy pocket coz i want the s3 status bar so hope it works without any issues if i have some problem i will tell u guys
---------- Post added at 02:16 PM ---------- Previous post was at 02:10 PM ----------
Plzz check and tell me that will it work on my Rooted Samsung Galaxy Pocket plzz thnx in advanced
Click to expand...
Click to collapse
Give a try my friend...
there is no way to brick your device .
you just have to put system & framework files in the pc & let xUltimate do the work.
if everything goes fine you get pair of folders deodex system apps & that of framework files .
put them to make flashable zip & there you go deodex stock rom.
everything will fine if u follow my steps.
if get any wrong (error) then its been in ur pc only not in ur phone
loxdegio said:
Nice guide! I followed it when I created my ROM! Very useful! tnx
Click to expand...
Click to collapse
Happy to help you
Context : This problem may arise on stock or stock based ROMs when you uninstall stock system keyboard. The phone will boot up to the lock screen and will ask for password to start android but click on the text box doesn't pull up the keyboard even if you have another one installed(not as system app) so, you can just access anything. This is because system will try to pull only the keyboards installed as system app.
If anyone's having this problem, here's the fix.
FIX :
Download stock(mostly you need AOSP one) keyboard apk based on your android version from any browser on PC.
If you got the AOSP one, rename it to its package name i.e., "com.android.inputmethod.latin" or if you downloaded stock one which is not the AOSP one, rename it to its package name.
Boot your device to TWRP(recovery).
Move it to a micro sd and insert it to your device. (OR)
If your device doesn't support sd card or if you prefer adb, you could use adb push.
Code:
adb push -p *package-name*.apk /sdcard/
Make sure that the apk file is in the adb folder.
In TWRP, go to file manager and select the apk and move it to /system/app/ (make sure you have mounted the system in twrp).
Reboot to system and Cheers!