Attualmente sto lavorando a un'applicazione Android basata su C, basata su NDK. Questa applicazione ha bisogno di creare file temporanei. Su un normale sistema Linux, userei tmpfile
per garantire che questi file siano creati correttamente in una directory temporanea e ripuliti alla fine del processo.Creazione di file temporanei in Android con NDK
Tuttavia, le mie indagini su diversi dispositivi Android sembrano indicare che
tmpfile
fallisce sempre;- non esiste la directory
/tmp
; - directory
/data/local/tmp
non è presente su tutte le varianti di Android; - non vi è alcun set di variabili di ambiente
TEMP
; mkstemp
non funziona meglio ditmpfile
.
Ora, io sono sicuro che avrei potuto incidere qualcosa insieme, ma visto che l'SDK offre context.getCacheDir
e File.createTempFile
per le applicazioni Java, spero che ci sia un equivalente in C-level.
Qualcuno sa di un buon metodo affidabile e cross-Android per la creazione di un file temporaneo?
È possibile utilizzare 'libcore' per chiamare' setenv() ', vedere http://stackoverflow.com/a/22315463/192373. Questo potrebbe essere un modo più elegante per mostrare il nome della cache dir a nativo. –