Создание временных файлов в Android с помощью NDK

В настоящее время я работаю над приложением Android на основе C и NDK. Это приложение должно создавать временные файлы. В обычной системе Linux я бы использовал tmpfile , чтобы гарантировать, что эти файлы правильно созданы во временном каталоге и очищены в конце процесса.

Однако мои исследования на различных устройствах Android, похоже, показывают, что

  • tmpfile всегда дает сбой;
  • нет каталога / tmp ;
  • каталог / data / local / tmp присутствует не во всех вариантах Android;
  • нет набора переменных среды TEMP ;
  • mkstemp работает не лучше, чем ] tmpfile .

Теперь я уверен, что смогу что-нибудь вместе взломать, но, видя, что SDK предлагает context.getCacheDir и File.createTempFile для приложений Java, я надеюсь, что есть эквивалент на уровне С.

Кто-нибудь знает хороший, надежный и совместимый с Android метод создания временного файла?

19
задан Idolon 24 November 2011 в 21:38
поделиться

1 ответ

  1. Получают путь к каталогу кэша на запуске приложения с помощью ContentProvider.
  2. Реализация tmpfile функционируют с той же подписью как tmpfile POSIX.
  3. Вызов mkstemp от Вашей функции tmpfile использование ранее полученного каталога

кэша, Упакованного это как .aar, таким образом, это могло быть использовано через gradle.

https://github.com/ViliusSutkus/tmpfile

0
ответ дан 30 November 2019 в 05:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: