This is the most "stock" way of disabling the camera sound. The easiest way by far is to just download a camera app which takes photos silently.
I quite like the app which comes with my Samsung Galaxy S, so I figured I'd keep using it and just change the settings instead.
First of all, you need a rooted phone for this to work.
Second, you'll need "adb.exe" to manage the files.
If you're running Linux as your operating system, you can just mount the system drive and just access it as normal.
Disabling the camera click
- To copy "default.prop" to your computer, type in: "adb pull /system/default.prop"
- Now edit the file and search for "ro.camera.sound.forced"
- If it exists, change it to 0.
- Otherwise, add this to the file: "ro.camera.sound.forced=0", and remember to leave a blank line at the end
- Save the file
- Now copy the file back onto the phone using "adb push default.prop /sdcard/"
- Connect to the phone: "adb shell"
- Type in "su" to gain super user access.
- Type in "cat /sdcard/default.prop > /system/default.prop" to replace your system settings
- Optionally you can clean up by deleting "default.prop" from your computer and phone "/sdcard" directory.
Some extra reading
The magic line in this method is the "cat" method. Using the usual "mv" command to move files will fail with the error "Cross-device link" as Unix will not allow you to move files mv from device to device. Kudos to darkxsun from androidforums for that one!