2011-03-02 4 views
2

지금 몇 주 동안 마운트 된 sdcard와 안드로이드 에뮬레이터를 사용하여 아무 문제없이. 오늘부터는 내 앱을 시작하고 내 활동이/mnt/sdcard에 액세스하려고 시도 할 때 NullPointerException과 충돌합니다. DDMS 파일 탐색기를 확인하고/mnt/sdcard가 비어있는 것 같습니다. 나는 그것에 파일을 밀어 넣으려고하지만 그것은 읽기 전용이고 사용 권한은 d ---------입니다. 안드로이드 에뮬레이터 sdcard 갑자기 읽기 전용 (실패 마운트?)

D/Vold ( 29): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media) 
D/Vold ( 29): Volume sdcard state changing 0 (No-Media) -> 1 (Idle-Unmounted) 

그래서 내가 그 sdcard.img 갑자기 어떤 이유로 마운트 실패 의미하는 것으로 받아 다음 로그 캣 출력의 시작 부분에 두 줄이 있습니다. 왜 이렇게 될지 모든 아이디어?

mount -o remount,rw /sdcard 

는 지금 작동합니까 :

+0

당신이 매니페스트 파일에 권한을 설정했는지 확인 <사용 - 권한 안드로이드 : 이름 = "android.permission.WRITE_EXTERNAL_STORAGE"/>이 바보 같은 오류가 걸리는 이유는 간단했다 – esse

답변

3

adb shell 

는 다음 명령을 입력 한 후 에뮬레이터로 쉘을 열고?

+0

아니라 내가 좋아하는 것 – herpderp

+0

알고 장소. 나는 지금 2.3.3 에뮬레이터에서 그것을 보았습니다. –

+0

당신이 만든 새로운 에뮬레이터마다 여전히 읽기 전용/sdcard가 포함되어 있기 때문에 버그는 특히 심합니다. –

0

"잘못된 인수"메시지가 mount -o remount,rw /sdcard 출력되었습니다. 그래서 폴더 이름에 공백이 없도록 "android-sdk"폴더를 옮겼습니다.

1

아마 당신은 당신의 SD 카드에 대한 메모리를 할당하는 것을 잊었을 것입니다. Android 가상 장치 관리자로 이동하여 거기 에뮬레이터 설정을 편집하여 sd 카드 크기를 512MB로 설정하십시오. 저에게 도움이되었습니다.

1

나는 이틀 동안 트래킹을 할 때도이 문제를 겪었다.

  1. 내 sd 카드의 메모리를 할당하는 것을 잊었습니다. Android 가상 장치 관리자로 이동하여 거기 에뮬레이터 설정을 편집하여 sd 카드 크기를 128MB로 설정하십시오.

  2. 확인 AndroidMenifest.xml이 다음 사용, 파일 작업

    std::FILE* file = std::fopen("/sdcard/hello.txt","w+"); 
    if (file != NULL)  
    { 
        std::fputs("HELLO WORLD!\n", file); 
        std::fflush(file); 
        std::fclose(file); 
    } 
    
  3. 실행 에뮬레이터에서 실행 응용 프로그램 테스트 앱의 코드를 다음과 같은 권한

  4. 사용 을 설정하는 "ADB shell ls/sdcard "를 사용하여"hello.txt "파일이 이미 만들어 졌는지 확인하십시오.