android logging sdcard

Posted by Abhi Rao on Stack Overflow See other posts from Stack Overflow or by Abhi Rao
Published on 2010-12-24T12:49:23Z Indexed on 2010/12/28 0:54 UTC
Read the original article Hit count: 406

Hello,
With Android-Emulator I am not able to write/create a file on the SD Card (for logging).
Here is what I have done so far
- Run mksdcard 8192K C:\android-dev\emu_sdcard\emu_logFile
- Create a new AVD, when assign emu_logFile to it so that when I view the AVD Details it says C:\android-dev\emu_sdcard\emu_logFile against the field "SD Card"
- Here is the relevant code

public class ZLogger {   
  static PrintWriter zLogWriter = null;
private static void Initialize() {
    try {
        File sdDir = Environment.getExternalStorageDirectory();
        if (sdDir.canWrite()) {
            :
            File logFile = new File (sdDir, VERSION.RELEASE + "_" + ".log");

            FileWriter logFileWriter = new FileWriter(logFile);

            zLogWriter = new PrintWriter(logFileWriter);

            zLogWriter.write("\n\n - " + date + " - \n");               
        }
    } catch (IOException e) {
        Log.e("ZLogger", "Count not write to file: " + e.getMessage());
    }
}

sdDir.canWrite returns false - please note it not the exception

from adb shell when I do ls I see sdcard as link to /mnt/sdcard. When I do ls -l /mnt here is what I see

ls -l /mnt

ls -l /mnt
drwxr-xr-x root system 2010-12-24 03:41 asec
drwx------ root root 2010-12-24 03:41 secure
d--------- system system 2010-12-24 03:41 sdcard

whereas if I go to the directory where I created emu_sdcard - I see a lock has been issued, as shown here

C:>dir android-dev\emu_sdcard
Volume in drive C is Preload
Volume Serial Number is A4F3-6C29

Directory of C:\android-dev\emu_sdcard

12/24/2010 03:41 AM .
12/24/2010 03:41 AM ..
12/24/2010 03:17 AM 8,388,608 emu_logFile
12/24/2010 03:41 AM emu_logFile.lock
1 File(s) 8,388,608 bytes
3 Dir(s) 50,347,704,320 bytes free

I have looked at these and other SO questions
Android Emulator sdcard push error: Read-only file system (2)
Not able to view SDCard folder in the FileExplorer of Android Eclipse

I have added the following to AndroidManifest.xml
**uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" **

Please let me know your thoughts - what am I missing here? Why does canWrite return false? What should I do to add permissions to sdcard?

© Stack Overflow or respective owner

Related posts about android

Related posts about logging