0
我有一个尝试从另一个进程获取软件包名称的进程。 我正在使用C++代码并使用Android工具链进行编译。 我有它的套接字fd和ip地址,但是,我没有在api中找到一个函数,它将返回一个包含包名称的字符串。 我有套接字fd和地址,如果有帮助: https://github.com/android/platform_system_core/blob/master/libcutils/qtaguid.c如何在C++上使用android toolchain获取包名?
有谁知道我如何能得到软件包名称:取自
uid_t GetSocketID(int sockfd)
{
int err;
socklen_t len;
struct sockaddr_in addr;
len = sizeof(addr);
int res = getpeername(sockfd, (struct sockaddr*)&addr, &len);
if (res < 0)
{
err = errno;
return -1;
}
int iSockIp = addr.sin_addr.s_addr;
int iSockPort = ntohs(addr.sin_port);
int iUid = -1;
if (iSockIp == 0 || iSockPort == 0)
{
return -1;
}
}
例子吗?
谢谢!
听起来很简单,但是您可以在命令中更具体吗?我找不到相关的过程。谢谢 – inbaly
有用的命令:busybox netstat -tp | grep | busybox awk'{print $ 7}应该返回PID /程序名称(第一个字符),例如:'10404/com.facebook。'自从我获得PID以来,这已经帮助了我。 –
inbaly