Я пытаюсь создать приложение для Android, которое использует средство NativeActivity
NDK. У меня следующая структура:
/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).