GetFilesDir() из NDK?
Есть ли способ заставить каталог приложения сохранять личные данные в файл для моего приложения непосредственно из NDK? Другими словами, мне нужен эквивалент функции Java mContext.getFilesDir().
Я отметил, что другие сообщения, такие как этот:
Android NDK Write File
укажите, что является "обычным" местом для этого каталога. Но для того, чтобы это было правильно во всех версиях и во всех устройствах, обязательно необходим эквивалентный системный вызов.
В настоящее время я использую NativeActivity и вообще не Java.
Спасибо за ваше время.
Ответы
Ответ 1
Если вы используете NativeActivity
, то у вас есть доступ из собственного кода к экземпляру ANativeActivity
(см. <ndk_root>/platforms/android-9/arch-arm/usr/include/android/native_activity.h
), который имеет члены internalDataPath
и externalDataPath
.
Ответ 2
У меня есть собственный вспомогательный класс для доступа к различным путям, для каталога данных я делаю это:
- Прочитайте
/proc/self/cmdline
или /proc/**MyPID**/cmdline
- Добавить результаты от # 1 к
/data/data/
Пример результатов:
/data/data/com.yourcompany.yourproduct/