현재 C 기반 NDK 기반 Android 애플리케이션에서 작업 중입니다. 이 응용 프로그램은 임시 파일을 만들어야합니다. 일반적인 리눅스 시스템에서는 tmpfile
을 사용하여 이러한 파일이 임시 디렉토리에 제대로 생성되고 프로세스가 끝날 때 정리되도록합니다.NDK로 Android에서 임시 파일 만들기
그러나, 다양한 안드로이드 장치에 내 조사
tmpfile
항상 실패하는 것을 나타내는 것;/tmp
디렉토리가 없습니다.- 디렉토리
/data/local/tmp
은 Android의 모든 변형에 존재하지 않습니다. TEMP
환경 변수 집합이 없습니다.mkstemp
은tmpfile
보다 좋지 않습니다.
지금, 내가 뭔가를 함께 해킹 수 있다고 확신하지만, SDK는 Java 응용 프로그램에 대한 context.getCacheDir
및 File.createTempFile
을 제공한다는보고, 나는 C 수준에서 동등한이 있기를 바랍니다.
임시 파일을 만드는 데있어 신뢰할 수 있고 교차 Android 방식을 아는 사람이 있습니까?
'setenv()'를 호출 할 때'libcore'를 사용할 수 있습니다. http://stackoverflow.com/a/22315463/192373을 참조하십시오. 이것은 네이티브에 캐시 디렉토리의 이름을 표시하는보다 우아한 방법 일 수 있습니다. –