Я портирую C ++ myToll
Приложение Linux для запуска на Android с использованием NDK r10d. (Обратите внимание, что это не приложение Android с apk
, но утилита для запуска из оболочки.) Это интерфейс командной строки, не имеет графического интерфейса и создается как отдельное приложение с помощью NDK.
В Linux, таких как Centos 5, инструмент читает и записывает в следующие стандартные каталоги:
/var/run/myTool/ (read/write)
/var/log/myTool/ (read/write)
/etc/myTool/ (read only)
/tmp/ (read-write)
myTool
установлен в /system/xbin/myTool
и может запускаться на рутированном телефоне Android в качестве утилиты из оболочки, но не может получить доступ к этим же местоположениям во время выполнения, даже когда запускается как root
,
Какие будут соответствующие места для использования в системе Android, что myTool
будет иметь достаточно разрешений для записи и где такие файлы, как правило, можно найти на Android? Есть ли места, которые могут быть созданы root
такой, что myTool
может использовать их во время выполнения без root
?
Ссылаясь на Android stackexchange answer Предлагаемый Ferzco, я остановился на следующем решении, которое работает на моем рутированном Samsung Galaxy S4:
/var/run/myTool/ => /data/log/myTool/run/
/var/log/myTool/ => /data/log/myTool/log/
/etc/myTool/ => /etc/myTool/
/tmp/ => /data/local/tmp/myTool/
я использовал /data/log/myTool
в качестве базы для двух каталогов и /data/local/tmp
на треть, потому что они были единственными, кого я мог найти, которые предложили разрешение на запись myTool
когда нет su
(ред) к root
, мне было нужно root
установить myTool
подкаталоги во время установки, но как только myTool
каталоги созданы и chmod 777 myTool
как root
пользователь больше не должен быть root
написать в эти подкаталоги. Для четвертого /etc/myTool
, так как myTool
нужно только читать информацию из /etc
во время выполнения я оставил его в существующем /etc
каталог, так как он был доступен для чтения (хотя и недоступен для записи) пользователем после его создания, и я смог настроить его так, как требуется, root
,