Android -запись/сохранение файлов только из собственного кода

Я пытаюсь создать приложение для Android, которое использует средство NativeActivityNDK. У меня следующая структура:

  • куча собственных общих библиотек, установленных в /system/vendor/; Я работаю со специально созданным образом Android, поэтому нет проблем с наличием библиотек с правильные разрешения и все такое
  • пара приложений, использующих NativeActivity, которые, в свою очередь, зависят от библиотек упомянутый выше

Библиотеки, установленные в /system/vendor, и мои приложения используют пару файлы конфигурации. Нет проблем с их чтением с помощью стандартного C API. fopen/fclose. Но эти библиотеки и мое приложение также должны хранить некоторые файлы. в результате их работы, таких как конфигурация, некоторые параметры времени работы -, калибровка данные, файлы журналов и т. д. С хранением файлов есть небольшая проблема, так как мне не разрешено записывать в/system/vendor/...(поскольку файловая система в "/system/..." смонтирована только для чтения -, и я не хочу взламывать ее ).

Итак, как лучше всего создавать и хранить эти файлы и где лучшая область хранения, соответствующая Android?

Я читал пару тем в группе Android -ndk Google и здесь, на SO, в которых упоминается либо внутреннее частное хранилище приложений , либо внешняя SD-карта , но как У меня нет большого опыта работы с Android. Я не уверен, какой подход будет правильным. Если подход включает в себя какой-то конкретный Android API, очень полезным будет небольшой пример кода на C++; Я видел пару примеров, связанных с Java и JNI (. например.в этом вопросе SO)но я хотел бы держаться подальше от этого прямо сейчас. Также кажется, что есть проблема с использованием из С++ собственной активности internalDataPath/externalDataPathпара(ошибка, из-за которой они всегда равны NULL).

25
задан Community 23 May 2017 в 12:30
поделиться