Я ищу альтернативный способ чтения символической ссылки / proc / PID / exe, в котором можно получить полный путь процесса в Android / Linux.
Причина в том, что на Android / proc / PID / exe для любого процесса, кроме вашего собственного или «я», похоже, имеет ограниченный (отказано в разрешении) доступ.
Я также изучил следующее - они читаются, но, похоже, не работают:
Код ошибки из-за отказа в разрешении:
#include <unistd.h>
// ...
char buf[2048];
// "/proc/1234/exe" is of course replaced with a proper PID
ssizet_t len = readlink("/proc/1234/exe", buf, sizeof(buf) - 1);
if(-1 != len) {
buf[len] = '\0';
// buf should contain full path
} else {
// this path always reached for PID's other than my own or
// /proc/self/exe
}
Должен быть альтернативный метод? В Windows, конечно, есть GetModuleFileNameEx, QueryFullProcessImageName () и т. Д.