Должен ли я создать каталог /etc/myApp на Android?

Я переношу приложение C++ Linux на Android с помощью NDK и тестирую с помощью эмулятора. Приложение пытается создать каталог /etc/myApp и терпит неудачу, потому что компонент /etc не имеет необходимых разрешений файловой системы на запись, необходимых для создания.

Должно ли мое приложение создавать такой каталог? Я использовал adb для проверки и попытки создать каталог из оболочки, но это тоже не удалось:

Ошибка mkdir для myApp, файловая система только для чтения

Означает ли, что файловая система, доступная только для чтения в adb, также доступна только для чтения для моего приложения?

Может ли мое приложение создать этот каталог, и если нет, есть ли другое более подходящее место?


person WilliamKF    schedule 17.04.2014    source источник


Ответы (1)


Нет, вы не должны быть в состоянии сделать это. Приложениям Android не разрешено записывать в системные каталоги.

Вероятно, вам следует создать этот каталог в личном хранилище вашего приложения. Как правило, лучше всего найти путь к этому из Java (не жестко кодировать его), а затем передать его на родную сторону.

В зависимости от ваших потребностей в файле, ExternalStorage также может быть вариантом, особенно во время разработки, когда вам может потребоваться легко изменить его вручную, хотя имейте в виду, что другие вещи также смогут изменить его там. Опять же, вы должны определить путь на вашем конкретном устройстве в Java, а затем передать его в собственный код.

person Chris Stratton    schedule 17.04.2014
comment
Каков стандартный способ получить путь в Java? - person WilliamKF; 17.04.2014