我编写了一个 android 程序 mydhcp 来发送运行 dhcpcd 的命令(android 默认 dhcp 程序):
dhcpcd eth0
我写了一个 apk 来接收 BOOT_COMPLETED 动作。当收到 BOOT_COMPLETED 时,它会调用我的共享库 (JNI) libmydhcp.so 来控制 mydhcp。所有进程都运行成功,但 dhcpcd 启动失败。
在我的 apk 的 AndroidManifest.xml 中已经设置了与系统 uid 相同的 uid:
android:sharedUserId="android.uid.system"
和其他用途 - 许可:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
崩溃点在 main(),它在 external/dhcpcd/dhcpcd.c
pidfd = open(pidfile, O_WRONLY | O_CREAT | O_NONBLOCK, 0664);
如何修改来解决这个问题?或者这是不可能的?