Related
RESOLVED
Dear developers,
I need to make send hardware button work for the menu, because the long press windows make me crazy recalling the current applications instead to give me the real useful menu for the app I use.
I currently use desire on hd2. So searching in the previous posts I found that I can change /system/usr/keylayout/qwerty.kl
No way, I opened Astro, did not change and save the modifications. Then I tried to download a terminal emulator. Do not give me #, but I thought was normal reading other posts(the phone is already rooted) so I tried chown and chmod, but I do not what I have to write to do the trick of edit with ASTRO the 2 lines I need to put the menu (for the apps) in SEND hw button. Furthermore trying using $ ls -latr I discovered that the qwerty.kl is a link that refer to etc/keymap directory. So I tried to use ASTRO to edit the file but also if tell me save, there are not modification, simply the file is not edited.
resolved --> I HAD TO COPY IN SDCARD THE FILE QWERTY BEFORE to MODIFY WITH ASTRO, no need of chmod && Chown
so im stuck and can not figure this out. for some reason the permissions for the download folders on my sd card do not have any user permissions checked. i can not download anything at all but the market is fine as it is on the internal memory i suppose. the only reason i came across the user permissions issue was because i found another post where someone had the same problem with downloading and corrected the issue by using root explorer and manually adding user permissions to any folder he used for downloading. now... here is my problem... i used root explorer and when i try to add user permissions to these folders, the settings that changed do not stick. i check mark the 3 boxes and accept the changes but if i go back into that folders specific permissions, they are unchecked once again. how can i get it to not revert back or better yet how can i just resolve the issue in whole so i dont have to keep fixing folder permissions on the sd card for app that downloads? i dont see why the sd card of all places would start having these permission issues. the guys post i came across tried to tie this issue to the fix permissions option in rom manager saying it may have caused the problem but i didnt use rom manager to fix permissions until this problem started. i was on liberty 1.5 rom then reverted back to rooted stock where i still have the problem with all downloading except the market again. any help would be greatly appreciated!
58 views and not a single response? wow.... so very shocking to see that, i bet if i had post this in the dev forum i would have gotten 15+ responses just to say that im in the wrong section then anther 30 for people to argue back and fourth on how everyone is being rude or that this is the reason devs stay in irc...
Give this a try if you have the sdk and adb set up.
from a command prompt:
1) adb devices (make sure that your phone shows up)
2) adb shell
3) su (assuming you have rooted your phone)
4) cd /mnt/sdcard/download (or whatever the folder on your sdcard for downloads is called)
5) chmod 777 /mnt/sdcard/download (or whatever your download folder is called)
this should change the permissions on your sdcard to have full permissions.
thanks for your reply! im grateful, but wouldnt that only change the permissions for the "download" folder? which is mostly only a default location for apps such as the browser?
The way sysadmin-x is suggesting makes the permissions way different than they are by default, I wouldn't recommend doing it that way.
If you want to change permissions on the entire sd card to what they are by default, try running(as root)
Code:
chown -R system:sdcard_rw /mnt/sdcard && chmod -R 075 /mnt/sdcard
Edit: that code messes up the permissions on one folder, after running that you should also run
Code:
chown -R root:root /mnt/sdcard/.android_secure && chmod -R 000 /mnt/sdcard/.android_secure
Just do this: download a terminal emulator from the market. Open the app. Type su and press enter. Give it root access. Type chmod 777 /sdcard and press enter.
Please note you need root to do this
DEODEXING
must have all these
Download XUltimate
Busybox installed
Root
sdk tools
1. Connect tablet to computer
2. Start xUltimate, we will now get the required files from our phone to deodex and zipalign it which we will describe in the 3rd step.
3. On the main menu of xUltimate, type "deodex" in the main menu then choose option 5 (Pull and deodex all). Everything will be done for you here. Don't worry. You will see all your finished files in the folders 'done_app' and 'done_frame' which are located in the installation directory of xUltimate. If you have issues with the mobileprint.apk remove it and the mobileprint odex from /system/app/
4. move folders 'done_app' and 'done_frame' folders to your sdcard, you can find these folders in the directory of xUltimate as described in the previous step.
5. Make sure the sdcard is not mounted to pc anymore
6. Open Windows Command Prompt and type the following commands.
adb shell
su
stop
mount -o remount,rw /dev/block/stl12 /system
rm /system/app/*.odex
rm /system/framework/*.odex
busybox cp /sdcard/done_app/* /system/app/
busybox cp /sdcard/done_frame/* /system/framework/
chmod 644 /system/app/*
chmod 644 /system/framework/*
mount -o remount,ro /dev/block/stl12 /system
sync
reboot recovery
7. Now data and cache reset in the recovery menu...
8. reboot
Now How to Share and backup
1. download the backup script http://www.multiupload.com/OBLSBY5Z9E
2. extract the file and place in C:\Program Files\Android\android-sdk\platform-tools or where your sdk platform-tools folder is
3.open command prompt [run cmd prompt as administrator] type "cd C:\Program Files\Android\android-sdk\platform-tools" next press enter then type "backup" or where your platform-tools folder is [don't include ""]
4. the files for heimdall sharing will be in cd C:\Program Files\Android\android-sdk\platform-tools or where your platform-tools folder is also they will be on your sdcard
5. make sure when sharing you do a complete wipe you dont want to share your info
6.now lets get some roms posted!
Nice post, I was wondering how to do this just recently.
hi nice how to
i tried to download your backup script but the link is down.
can you please upload the backup script again
thanks
Wow thankss
Sent from my GT-P7500 using XDA Premium HD app
akenathon said:
Wow thankss
Sent from my GT-P7500 using XDA Premium HD app
Click to expand...
Click to collapse
CRC Studio | http://code.google.com/p/custom-rom-creator-studio/
The best rom cooking (windows) gui tool there is!
You can do this to with this gui tool and so much more...
Cheers
Thanks for the tips; but shouldn't this be in DEV or something..?
Well, that's where I would look to find such information... But I'm a noob.
Unable to deodex Phonesky.apk
as stated above, how to deodex Phonesky.apk?
I want to find way to create 3g with task v14 rom. Mybtab is gtab 10.1 3g p7500, but this rom doesnt support 3g.
Sent from my GT-P7510 using XDA Premium HD app
error msg
i try few times but always get this error, app`s is gove well and deodexed, from framework canot deodex following
android.policy
core
ext
framework
qcnvitems
services
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file boun
cycastle.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.jav
a:237)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:14
5)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(Cla
ssPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:93)
at org.jf.baksmali.main.main(main.java:278)
The system cannot find the file specified.
any solutions? thanks in advance
Hi all,
I have managed to deodex and zipalign my rooted I8190XXALL2_I8190OXXALL1 ROM in my smartphone, so thought i would share it here.
Follow all the instructions carefully. I will not be held responsible in any manner if your smartphone doesn’t boot up or gets bricked due to not following the instructions.
Please make sure -
1. Your smartphone is already rooted (flash one of the rooted rom's founded here)
2. Download and install Busybox Installer latest version.
3. Make sure you already have Java SE Development Kit and Android SDK installed on your computer.
Install them to the default choice on the C: drive.
4. You should also have a basic knowledge of ADB.
Required Downloads -
1. xUltimate version 2.4.2 – Link. You may have to Google for the correct version to download. Extract it to C:\xUltimate-v2.4.2.
Instructions –
1. Connect your smartphone to your computer. (Make sure you have selected USB debugging in Settings>Applications>Development)
2. Open a command prompt as administrator. Wait for Window to appear.
3. Change Directory to C:\xUltimate-v2.4.2
4. Launch main.exe.
5. If everything goes well xUltimate should recognize the smartphone and make a connection. You should now see a list of options.
6. Select option (1) pull /system/app. Wait until it completes.
7. Select option (2) pull /system/framework. Wait until it completes.
8. 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.
If you encounter the error “ ‘java’ is not recognized as an internal or external command, operable or batch file” see Note below.]
9. Then select option (4) Deodex /system/framework. Wait until it complete.
10. Now Exit from xUltimate.
11. Disconnect and connect your smartphone. Your PC should open a Window for you to view your files.
12. Go to C:\xUltimate-v2.4.2 folder and copy “done_frame”, and “done_app”, and move them to the root of the internal sdcard. Don’t copy them to your external sdcard
14. Now safely eject your smartphone from the PC.
15. Click on My Computer and find the directory where Android SDK is installed (on my PC it is in C:\Program Files (x86)\Android\android-sdk\. Then go to the ‘platform-tools’ folder in it. Right click on any free space in folder while pressing shift key. Select ‘open command prompt here’.
16. Reconnect the smartphone to your PC in USB debugging mode.
17. Now enter the following commands (if you are using adb shell in su for the first time, keep smartphone screen on).
adb shell (this should recognize your device)
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
18. Your smartphone will reboot and perform an automatic Android update. You have now deodexed/zipaligned the ROM on your smartphone.
NOTE
I only tried this on my I8190 with ROM I8190XXALL2 - I8190XXALL1 BTU Rooted.
At Step 8, (running Option 3), if you encounter the error “ ‘java’ is not recognized as an internal or external command, operable or batch file” then xUltimate can’t find the PATH to your ‘java’ command.
To add the location of Java to your PATH do this:
Right-click on ‘My Computer’ (or Computer for Vista) and choose ‘Properties’.
Navigate to the ‘Advanced’ tab (or for Vista/7/8, click 'Advanced System Settings’ on the left, then find the ‘Advanced’ tab)
Click ‘Environment Variables’
Under System Variables, find 'Path' and click Edit...
DO NOT ERASE OR REPLACE THE CONTENTS OF THIS. YOU ARE SIMPLY GOING TO ADD TO IT.
At the very end of the text field, add a semicolon [ ; ] and add the location of java.exe.
On my Windows 64-bit system this is in “c:\program files\java\jdk1.7.0_06\bin” . For others it might be "c:\program files\java\jre7\bin". I seem to have java.exe in both locations but only the first one worked for the batch file in xUltimate.
Then ‘Okay’ that to save the addition and come out of ‘Properties’
Batch files will now be able to find java.exe without you modifying the batch file.
*************************************************************************************
If for some reason you can't deodex and zipalign apps and framework with xUltimate, ive uploaded them for your use:
done_app
done_frame
They were deoxeded and zipaligned from ROM I8190XXALL2 - I8190XXALL1 BTU Rooted
*************************************************************************************
I followed the above and it works. I used Root Explorer to check my smartphone and all the .odex files have gone, i have more memory available, and smartphone seems faster!
infected_
Well you'll get more ram and deode xing opens a whole new of theming possibilities but it won't be as fast as odexed rom even though zipaligned !
nikufellow said:
Well you'll get more ram and deode xing opens a whole new of theming possibilities but it won't be as fast as odexed rom even thigh zipaligned !
Click to expand...
Click to collapse
I get more RAM thats what i like and more space..! i dont care about theming... but i guaranty that the phone seems faster deoxed and zipaligned...
infected_ said:
I get more RAM thats what i like and more space..! i dont care about theming... but i guaranty that the phone seems faster deoxed and zipaligned...
Click to expand...
Click to collapse
I do not doubt you mate i just posted what i knew from my experience ! Stay with deodexed Rom for few more days/weeks and then temporarily try coming back to odexed stock and you'll know the difference
Sent from a hybrid phablet !
i just didn't find a way no recompile system.img in windows.... or else i had made a pretty cool rom and fast whit android kitchen 0.208... :silly:
Don't give up we need Roms
Sent from a hybrid phablet !
i can compile cm or aokp if u want
Yes please.
Sent from my GT-I8190 using xda premium
Shapeshift said:
i can compile cm or aokp if u want
Click to expand...
Click to collapse
can you decompile system.img from this latest 4.1.1 rooted rom I8190XXALL2_I8190OXXALL1_BTU and replace /system/app/* and /system/framework/* with the deodexed and zipaligned apk's:
done_app
done_frame
and then compile into odin flashable *.tar.md5 ?!
infected_ said:
Hi all,
I have managed to deodex and zipalign my rooted I8190XXALL2_I8190OXXALL1 ROM in my smartphone, so thought i would share it here.
Follow all the instructions carefully. I will not be held responsible in any manner if your smartphone doesn’t boot up or gets bricked due to not following the instructions.
Please make sure -
1. Your smartphone is already rooted (flash one of the rooted rom's founded here)
2. Download and install Busybox Installer latest version.
3. Make sure you already have Java SE Development Kit and Android SDK installed on your computer.
Install them to the default choice on the C: drive.
4. You should also have a basic knowledge of ADB.
Required Downloads -
1. xUltimate version 2.4.2 – Link. You may have to Google for the correct version to download. Extract it to C:\xUltimate-v2.4.2.
Instructions –
1. Connect your smartphone to your computer. (Make sure you have selected USB debugging in Settings>Applications>Development)
2. Open a command prompt as administrator. Wait for Window to appear.
3. Change Directory to C:\xUltimate-v2.4.2
4. Launch main.exe.
5. If everything goes well xUltimate should recognize the smartphone and make a connection. You should now see a list of options.
6. Select option (1) pull /system/app. Wait until it completes.
7. Select option (2) pull /system/framework. Wait until it completes.
8. 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.
If you encounter the error “ ‘java’ is not recognized as an internal or external command, operable or batch file” see Note below.]
9. Then select option (4) Deodex /system/framework. Wait until it complete.
10. Now Exit from xUltimate.
11. Disconnect and connect your smartphone. Your PC should open a Window for you to view your files.
12. Go to C:\xUltimate-v2.4.2 folder and copy “done_frame”, and “done_app”, and move them to the root of the internal sdcard. Don’t copy them to your external sdcard
14. Now safely eject your smartphone from the PC.
15. Click on My Computer and find the directory where Android SDK is installed (on my PC it is in C:\Program Files (x86)\Android\android-sdk\. Then go to the ‘platform-tools’ folder in it. Right click on any free space in folder while pressing shift key. Select ‘open command prompt here’.
16. Reconnect the smartphone to your PC in USB debugging mode.
17. Now enter the following commands (if you are using adb shell in su for the first time, keep smartphone screen on).
adb shell (this should recognize your device)
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
18. Your smartphone will reboot and perform an automatic Android update. You have now deodexed/zipaligned the ROM on your smartphone.
NOTE
I only tried this on my I8190 with ROM I8190XXALL2 - I8190XXALL1 BTU Rooted.
At Step 8, (running Option 3), if you encounter the error “ ‘java’ is not recognized as an internal or external command, operable or batch file” then xUltimate can’t find the PATH to your ‘java’ command.
To add the location of Java to your PATH do this:
Right-click on ‘My Computer’ (or Computer for Vista) and choose ‘Properties’.
Navigate to the ‘Advanced’ tab (or for Vista/7/8, click 'Advanced System Settings’ on the left, then find the ‘Advanced’ tab)
Click ‘Environment Variables’
Under System Variables, find 'Path' and click Edit...
DO NOT ERASE OR REPLACE THE CONTENTS OF THIS. YOU ARE SIMPLY GOING TO ADD TO IT.
At the very end of the text field, add a semicolon [ ; ] and add the location of java.exe.
On my Windows 64-bit system this is in “c:\program files\java\jdk1.7.0_06\bin” . For others it might be "c:\program files\java\jre7\bin". I seem to have java.exe in both locations but only the first one worked for the batch file in xUltimate.
Then ‘Okay’ that to save the addition and come out of ‘Properties’
Batch files will now be able to find java.exe without you modifying the batch file.
*************************************************************************************
If for some reason you can't deodex and zipalign apps and framework with xUltimate, ive uploaded them for your use:
done_app
done_frame
They were deoxeded and zipaligned from ROM I8190XXALL2 - I8190XXALL1 BTU Rooted
*************************************************************************************
I followed the above and it works. I used Root Explorer to check my smartphone and all the .odex files have gone, i have more memory available, and smartphone seems faster!
infected_
Click to expand...
Click to collapse
Make it for pll or rename the thread "INFO OR HOWTO"
Great info thx m8
Sent from my GT-I8190 using XDA Premium App
The done_app link is broken..
JoFury said:
The done_app link is broken..
Click to expand...
Click to collapse
just tried it now... its working.
https://dl.dropbox.com/u/17735355/done_app.rar
https://dl.dropbox.com/u/17735355/done_frame.rar
Is this SIII Mini specific or Any phone and any rom?? THAN-Q.
NHS2008 said:
Is this SIII Mini specific or Any phone and any rom?? THAN-Q.
Click to expand...
Click to collapse
any device running on an odexed Rom
why fix it if it ain't broken ?
nikufellow said:
any device running on an odexed Rom
why fix it if it ain't broken ?
Click to expand...
Click to collapse
Thank you for the answer...
Sent from infected_ s3 mini i8190
nikufellow said:
any device running on an odexed Rom
why fix it if it ain't broken ?
Click to expand...
Click to collapse
Even the L version?
i have a 4.1.2 Faria ROM in my S3 galaxy mini. I can do this?
generalriden said:
i have a 4.1.2 Faria ROM in my S3 galaxy mini. I can do this?
Click to expand...
Click to collapse
I don't advise you... faria's rom is already zipaligned.
infected_ said:
I don't advise you... faria's rom is already zipaligned.
Click to expand...
Click to collapse
I have problem from
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
Click to expand...
Click to collapse
and after searche on Google find another thread like this and i see diferant methode can you pleas see and explain i try with this http://forum.xda-developers.com/showthread.php?t=1688211 method this night and feed if worked but if you see we have diferant commande now i know need to change
from
#mount -o remount,rw /dev/block/mmcblk0p9 /system
to
#mount -o remount,rw /dev/block/mmcblk0p22 /system
i try and feed if worked later
thank for tut
hi, need some help. when i try to deodex, i got error "Error occured while loading boot class path files. Aborting. bla bla bla"
please help me
I will be using this thread to post my scripts and link them to other threads as needed. For this thread, I am assuming you know what you're doing. You don't need mad hacking skills and you don't need to be an expert (I'm sure as hell not), but knowing your way around the file system and basic shell scripting are helpful.
Some background: I am using the stock ROM and kernel (SGS2 - GB27, SGS4 - MDC), so all of my tips revolve around using stock and all of my scripts (even the flashable ones) will work without flashing from recovery (just extract the script from the ZIP and execute it while the phone is in phone-mode - you know... powered on ).
You are welcome to use my scripts in your apps. I only ask that you give me some credit.
I am not responsible for bricking your phone. I have only tested my scripts on my personal Samsung Galaxy S2 and S4 from Sprint. You are welcome to try on your phone, but I offer no warranties or guarantees as to whether they will work or not. Back up your ****!
All of this requires root!
Below is a list of the scripts I have written for y'alls. Enjoy.
Custom df: Shows where irregular mounts ("mount -o bind") are mounted. [ Forum post | Download ]
Currently doesn't work on my SGS4.
Easily move Phonesky.apk and GoogleServicesFramework.apk to /system or /preload for Multi DPI Play Store. [ Forum post | Download ]
Untested on my SGS4, but there's no reason to think that it won't work.
Use your SGS2's internal SD card for Link2SD instead of making a second partition on your external SD card (although, depending on the setup, you may still need to make a tiny partition on your external SD card) and your external SD card as your internal SD card [ Forum post ]
Untested on my SGS4. I have no need for it.
Clean up Link2SD: Delete files associated with Link2SD when uninstalling it. It does not revert the links Link2SD makes. It only deletes the mount scripts. [ Forum post | Download ]
If you use the debuggerd script to enable init.d, running this script will cause you to lose init.d.
Untested on my SGS4, but there's no reason to think that it won't work.
Delete Samsung's bloatware from the Sprint SGS2. [ Forum post | Download ]
Untested on my SGS4, but there's no reason to think that it won't work; however, it was written specifically for the SGS2's bloatware. See thread S4 System Apps Safe To Remove for a list of SGS4 bloatware apps.
Google Home Launcher (from Kit Kat).
Works on Jelly Bean.
Below are some other tweaks.
You can use custom boot animations with the stock ROM. All you need to do is swipe a "/system/bin/bootanimation" binary file from another ROM (such as @rujelus22's Blu Kuban FL24 (ICS) or Blu Kuban GB27 (JB 4.1.2)), paste it into "/system/bin", and make it executable.
For JB 4.2.2, make sure the user and group are root and shell respectively. This doesn't seem to be a problem with JB 4.1.2 and below. It's also possible that my initial testing involved a boot animation that didn't work on my SGS4, so if it works with root as both user and group, then roll with it. :good:
Also for JB 4.2.2, use the file from a JB 4.2.2 ROM, such as The Blu Kuban S4.
You can enable init.d scripts very easily by renaming "/system/bin/debuggerd" to "/system/bin/debuggerd.bin", replace it with the following, and make both files executable. If "/system/bin/debugger.bin" already exists, then edit "/system/xbin/busybox run-parts /system/etc/init.d" into "/system/bin/debuggerd".
As with the above, make sure the user and group are root and shell.
Code:
[color=green]#!/system/bin/sh[/color]
LOG=/data/debuggerd.log
echo "$(date)" > $LOG
echo "init.d" >> $LOG
/system/xbin/busybox run-parts /system/etc/init.d 1>>$LOG 2>>$LOG
echo "$(date) finished" >> $LOG
echo debuggerd.bin launched >> $LOG
exec /system/bin/debuggerd.bin
Below are some tips.
Most of the things you can do with a custom kernel, you can do with the stock kernel, it just requires more work and more risk.
If you replace an odexed system app with a deodexed system app, make sure you delete the app's ODEX file (it's the same file name except with the extension .odex).
Conversely: if you replace a deodexed system app with an odexed system app, you better have the ODEX file to go with it.
You can clear the dalvik-cache without a custom kernel by deleting the contents of "/data/dalvik-cache". You can even delete an individual app's dalvik-cache by finding the file "/data/dalvik-cache/[email protected]@[email protected]" or "/data/dalvik-cache/[email protected]@[email protected]" and delete it.
You can manually uninstall a system app's update by finding the file "/data/app/.apk" and delete it.
You can manually delete all user data by deleting the contents of "/data/data". You can even delete an individual app's data by finding the folder "/data/data/" and delete it.
Making scripts and binaries executable:
They must be on an EXT formatted filesystem (e.g. /data, /system, /preload).
They must be at least readable and executable by the user 'shell' (755 (read/execute for all, write only for user - "u=rwx,a=rx" if your busybox supports that method) is what I usually use).
Code:
chown root:shell ""
chmod 755 ""
chmod u=rwx,a=rx "" # busybox must support symbolic modes
Changing file permissions requires read/write access to the filesystem on which the file resides:
Code:
mount -o remount,rw /system # make the /system partition read/write
mount -o remount,ro /system # make the /system partition read only
The stock kernel is considered "production" whether or not it's rooted; therefore, you cannot use ADB to push or pull files directly to or from protected partitions, nor run ADB as root, nor use ADB's remount command, so you have to use unprotected partitions as a sort of buffer. You can, however, access the ADB shell and issue the "su" command wherein you can use "cp" to copy files to or from protected partitions prior to using ADB to push or pull the desired file. However, there is an app aptly named [root] adbd Insecure by @Chainfire that patches the ADB daemon to get around this limitation.
Example:
Code:
c:/android-sdk> adb shell
[email protected]:/ $ su
[email protected]:/ # cp /system/bin/debuggerd /sdcard/debuggerd
[COLOR="green"]-- open a new command prompt window --[/COLOR]
c:\android-sdk> adb pull /sdcard/debuggerd debuggerd
c:\android-sdk> adb push debuggerd /sdcard/debuggerd
[COLOR="green"]-- switch to the first command prompt window --[/color]
[email protected]:/ # mount -o remount,rw /system
[email protected]:/ # cp /sdcard/debuggerd /system/bin/debuggerd
[email protected]:/ # chown root:shell /system/bin/debuggerd
[email protected]:/ # chmod 755 /system/bin/debuggerd
[email protected]:/ # mount -o remount,ro /system
Some noteworthy files and folders:
/proc/self/mountinfo: If you can read it, it tells you where your partitions and folder binds are mounted.
/proc/partitions: Shows all of your SD card's partitions, how many blocks each has, and their vold numbers (eg "179 1 30578964 mmcnlk0p1").
/dev/block/platform/dw_mmc/by-name: This folder contains symlinks to your internal eMMC's partitions indexed by what they are for (eg UMS for your internal SD card - "realpath /dev/block/platform/dw_mmc/by-name/UMS" will print out the device path (ie "/dev/block/mmcblk0p11")).
/dev/block/platform/dw_mmc/by-num: This folder is like the previous except that they are indexed by partition number (eg "p11").
/proc/version: Shows what version of Linux is currently being used.
/data/system/batterystats.bin: Delete this when your battery is fully charged and still plugged in to recalibrate it.
Footnotes:
For "/data/app", "/data/data", and "/data/dalvik-cache" files you need to know the package name. There are various apps that will tell you, including Link2SD (mentioned above), Titanium Backup, and the web URL of the app in the Play Store (ex: https://play.google.com/store/apps/details?id=com.devname.appname).
More:
Random boot sound using your notification sounds
Make ADB work for all users - Jelly Bean 4.2.2 (Updated 07/15/13 00:35 MST)
Stock ROM - SGS4 - init.d
No-data restore tips
SGS4 Bloatware Remover
Make apps run faster and increase battery life
Random boot sound using your notification sounds
The attached ZIP contains a script that can be run pre or post boot. It just needs to be executable.
Preboot requires init.d. See the OP for enabling it if you are on a stock rooted ROM and requires the file to be readable and executable ("chmod 755" works fine).
Postboot requires an app such as Scripter (ROM Toolbox) or Script Manager to execute the script at boot.
Requires the variable $RANDOM. You can make sure it's available from the command line ("echo $RANDOM").
Use this script at your own risk. I provide no warranties or guarantees.
What does this script do?
Check for carrier boot up sounds (sub folders in the "/system/media/audio/ui" folder) and moves them to "/system/media/audio/notifications" renaming them as needed.
Create symlinks in the above folders to "/system/media/audio/ui/PowerOn.ogg".
Check if "/system/media/audio/notifications/PowerOn.ogg" is present and copy it to "/system/media/audio/ui/PowerOn.ogg" it's not.
Count the number of files in "/system/media/audio/notifications".
Grab a random number between 1 and the number of files found inclusive (math notation: "[1, numFiles]").
Go through "/system/media/audio/notifications" and copy the file at index random to "/system/media/audio/ui/PowerOn.ogg".
Notes:
The stock file is included. If you want a different sound in its place, you can either comment out that line in the script and delete the "/system/media/audio/notifications/<subfolder>_PowerOn.ogg" files from "/system/media/audio/notifications" or just replace "/system/media/audio/notifications/PowerOn.ogg" with some other sound file and still delete the "/system/media/audio/notifications/<subfolder>_PowerOn.ogg" files from "/system/media/audio/notifications".
If you want more sounds, just copy them to "/system/media/audio/notifications" (OGG files only).
The script does not check for valid files and blindly renames the destination file to "PowerOn.ogg".
It does not look in "/sdcard/media/audio/notifications" or anywhere else for audio files.
I do not recommend using alarms or ringtones files as they are usually looped which can cause the media scanner to get stuck and overheat your phone or tablet - those files may continue to play even if you can't hear them.
If you can't hear a sound on boot, it is likely that the file is either invalid or has no audio (ex: my /system/media/audio/ui/BST/PowerOn.ogg has no audio).
It was tested and works on a Samsung Galaxy S2 (stock JB 4.1.2) and a Samsung Galaxy S4 (stock JB 4.2.2) both from Sprint and using stock kernels.
There's no obvious reason it won't work on other phones and tablets with other ROMs from other carriers.
Nice work E.
cerj said:
Nice work E.
Click to expand...
Click to collapse
:good:
Make ADB work for all users - Jelly Bean 4.2.2 (Updated 07/15/13 00:35 MST)
With Android 4.2.2, ADB now requires RSA keys. This poses a problem when attempting to connect to the device's ADB server from the device itself and the device won't ask for authorization unless it's connected via USB. Well, there's hope, yet.
For the following, I'm assuming you used my method for adding init.d support to your device.
Use these scripts at your own risk. I provide no warranties or guarantees.
Add the following script to /system/bin/debuggerd. If you use an alternate method, please note that it must be executed by the debugger daemon. You must do this first or you'll have to manually restart the debugger daemon after editing this file and executing the run-once script (next step), so edit this file first and save it.
Code:
if [ ! -e "/.android" ]; then
busybox mount -o rw,remount /
mkdir /.android
mount -o bind /data/.android /.android
busybox mount -o ro,remount /
fi
Then run this script once from the device (not over ADB on your PC).
Code:
[COLOR="Green"]#!/system/bin/sh[/COLOR]
HOME=/data
adb kill-server
adb start-server
stop adbd
cat /data/.android/adbkey.pub >> /data/misc/adb/adb_keys
echo "" >> /data/misc/adb/adb_keys # Add a blank line at the end of the file
start adbd
HOME=/
adb kill-server
stop debuggerd
start debuggerd
Notes:
You can also find the abdkey.pub file on your Windows' PC here, C:\Users\<user name>\.android\adbkey.pub. Copy it to your device by whatever means necessary, then append it to /data/misc/adb/adb_keys and you won't need to initially use the USB to allow the PC connection. Not really necessary unless your PC has no USB or you've broken your USB cable.
This may have inadvertently corrected the mounting issue introduced in Jelly Bean 4.2.2.
You can also allow other Android 4.2.2 devices, but it requires ADB version 1.0.31 and for you to manually append the contents of /data/.android/adbkey.pub from device A (the one you want to use to ADB on) to /data/misc/adb/adb_keys on device B (the target device).
Don't delete /data/.android
This won't fix apps. Just allow you to use ADB to connect to your device from itself.
Tested on my SGS4. No reason it won't work on other devices.
If you already have a /data/.android directory, you may not need to do this. On my SGS4, HOME defaults to "/" which the ADB daemon can't write to, so it can't make the RSA key.
The run-once script temporarily changes HOME to "/data", a writable directory, so the ADB daemon can write the RSA key then it append it to the allowed clients file then restarts the debugger daemon thus binding /data/.android to the /.android directory allowing all Linux users ADB access to the device.
Reassigning HOME to a new value on one user only changes its value for that user which is why I'm binding /data/.android to /.android.
Code:
# Example
[email protected]:/ $ echo $HOME
/
[email protected]:/ $ HOME=/data
[email protected]:/ $ echo $HOME
/data
[email protected]:/ $ su 1000
[email protected]:/ $ echo $HOME
/
Alternatively (much easier):
Make the .android folder in /data (mkdir /data/.android).
Add the script, the first code block in this post, to your debuggerd file or an init.d script.
Restart the debugger (stop debuggerd; start debuggerd) or reboot the phone.
Restart ADB (stop adbd; start adbd).
Copy the newly created public key to the allowed clients (cat /data/.android/adbkey.pub >> /data/misc/adb/adb_keys; echo "" >> /data/misc/adb/adb_keys).
Restart the ADB server (adb kill-server; adb start-server).
SGS4 Bloatware Remover
I have written a live-script to delete all of the SGS4 bloatware except GoogleContactsSycAdapter and SecLauncher3. If you want to delete those, remove the "#" from that line in the script. If you want to exclude an app, add a "#" to that line and put the app name in quotes (ie AppName / becomes "#AppName" / (including the forward slash) or just remove that line. If you remove the last item (YouTube in this case), remove the forward slash from the previous line.
Use this scripts at your own risk. I provide no warranties or guarantees.
What this script does:
Move the app's APK and ODEX to /sdcard/SystemAppsBackup.
Delete its dalvik-cache.
Reboot the phone. If it doesn't reboot, you'll have to do this yourself.
What this script does not do:
Delete the app's data. Because the script doesn't know the package name.
Delete its Play Store update (located in /data/app). Because the script doesn't know the package name.
Mount the SD card if it's not mounted. If you want backups, make sure the SD card is mounted.
Care if you delete a system app you wanted to keep. Most apps that you would want to keep may be available in the Play Store.
Restore apps.
Notes:
Apps will crash left and right when you execute this script in running mode. Don't fret, this is normal.
This is a live-script which means you have to manually execute the script either with a terminal emulator, a script executor like Scripter, or ADB.
This is not flashable.
If executing via ADB in Recovery mode, you may need to mount the SD card to /storage/sdcard0 manually or settle for no backups.
If you restore an app from /sdcard/SystemAppsBackup, make sure you get the ODEX file if present and set the permissions for both to 644.
This list is based off the list in the thread, S4 System Apps Safe To Remove.
Here You Go Guys, I took me about 30 mins, but I have successfully added all the app in the Op to a flashable Zip.
The Zip is base of TrulyClean v1.6 script code, I just deleted his ;delete/system/...apk and replaced it with all the ones from the OP
bigtobitobs said:
Here You Go Guys, I took me about 30 mins, but I have successfully added all the app in the Op to a flashable Zip.
The Zip is base of TrulyClean v1.6 script code, I just deleted his ;delete/system/...apk and replaced it with all the ones from the OP
Click to expand...
Click to collapse
Looks like you're deleting bloatware, perhaps you should post that in the right thread... or at least a more appropriate thread.
Sent from my SGS4.
egingell said:
Looks like you're deleting bloatware, perhaps you should post that in the right thread... or at least a more appropriate thread.
Sent from my SGS4.
Click to expand...
Click to collapse
LOL OMG I am so sorry, I had multiple tabs open and put this in the wrong forum. Please Delete
bigtobitobs said:
LOL OMG I am so sorry, I had multiple tabs open and put this in the wrong forum. Please Delete
Click to expand...
Click to collapse
Would that I could.
Sent from my SGS4.
Make apps run faster and increase battery life using Xposed App Settings.
Did you install GravityBox on your SGS4 then uninstall it and now you can't hear your games or music?
I think it has to do with GravityBox's "Volume Steps" option not undoing when GB is uninstalled. This is how I fixed it (forum post).
Stock ROM - SGS4 - init.d
I recently found out that my debuggerd hack to enable init.d support on my stock SGS4 wasn't working. So, I did this and now it works.
Make a file named "install-recovery.sh" and drop it into /system/etc. Whatever script you put in here will execute at boot up so long as the user/permissions are correct.
Code:
chown shell:shell "/system/etc/install-recovery.sh"
chmod 755 "/system/etc/install-recovery.sh"
chmod u=rwx,a=rx "/system/etc/install-recovery.sh" # busybox must support symbolic modes
Use this script at your own risk. I provide no warranties or guarantees.
My "/system/etc/install-recovery.sh" script:
Code:
[COLOR="Green"]#!/system/bin/sh[/COLOR]
LOG="/data/install-recovery.log";
echo "Executing install-recovery.sh" > $LOG;
echo "" >> $LOG;
echo "$(date) install-recovery hack..." > $LOG
echo "" >> $LOG
echo "init.d" >> $LOG
[COLOR="green"]# I can't get run-parts to work for some reason, but this will run every *.sh script in /system/etc/init.d as root.[/COLOR]
for N in /system/etc/init.d/*.sh; do
su -c "$N" 1>>$LOG 2>>$LOG
done;
Notes:
Mount binding (in JB 4.2.2+) seems to work. E.g. mount -o bind /folder1 /folder2
$(date) does not provide the correct date (mine said: "Wed Apr 15 13:24:13 MST 1970").
The Package Manager is not available. (There may be other unavailabilities, but I don't intend to test it thoroughly.)
Somethings I discovered recently while doing a no-data system restore for the second time in the same night and some tips relating to system restores:
* When doing a no-data restore, disabled/frozen system apps remain disabled.
* Apps that can't be disabled even with Titanium Backup will not remain disabled after a reboot and will sometimes crash/FC repeatedly until uninstalled.
* If an app won't open or FCs, try converting it to a system app and back to user app or vice versa.
* Don't integrate system app updates into the ROM. In the event that you have to do a no-data restore, those updates will be retained.
* Don't convert user apps to system apps for the same reason.
* Disregard the previous two tips if disk space is a problem. It's just more time consuming (redownloading updates, reintegrating, and reinstalling) after a restore.
* Save all modified system files, such as /system/bin/debuggerd, /system/build.prop, /system/etc/install-recovery.sh, and if your ROM uses /system/etc/unit.d, any modified or extra files there. If you use them, you'll need them after a restore.
* For a smoother post no-data restore, use Titanium Backup's labels so you can batch-uninstall those pesky system apps you don't want.
SGS2 - JB 4.1.2 GB27
SGS4 - JB 4.2.2 MF9
any command for updater script to make directory in root of android ??
HassanMirza01 said:
any command for updater script to make directory in root of android ??
Click to expand...
Click to collapse
Creating directories in / and all the files contained therein must be redone on every boot. That said, you just need to make root writable and make the directory.
mount -o remount,rw /
mkdir /whatever
mount -o remount,ro /
Note: Every time you wish to create, modify, or delete files you'll have to make root writable.
Sent from my LG-H811 using Tapatalk
egingell said:
Creating directories in / and all the files contained therein must be redone on every boot. That said, you just need to make root writable and make the directory.
mount -o remount,rw /
mkdir /whatever
mount -o remount,ro /
Note: Every time you wish to create, modify, or delete files you'll have to make root writable.
Sent from my LG-H811 using Tapatalk
Click to expand...
Click to collapse
Actually.... I wanna add some files within folder in root of android root... So i need to use above three commands nd then after making directory, i should extract files to that folder ??
HassanMirza01 said:
Actually.... I wanna add some files within folder in root of android root... So i need to use above three commands nd then after making directory, i should extract files to that folder ??
Click to expand...
Click to collapse
Yes.
Sent from my LG-H811 using Tapatalk
:good: