我有一个非root用户设备,我想从我的应用程序运行命令。
我的应用程序是一个系统应用程序(获得了所需的密钥) - 但设备的内置su
不允许uid 1000(系统应用程序)运行su
命令。
我所做的是删除以下文件:su.c,删除:if (myuid != AID_ROOT && myuid != AID_SHELL) {
部分。我使用ndk工具编译它,将其放在名为/system/xbin/
的{{1}}文件夹中。
然后我输入了mysu
并重新安装了系统adb
,rw
文件(全部使用原始chmoded 777
),并将其重新安装回来。
问题 - 这不起作用。我正在尝试使用su
运行的任何命令(甚至来自shell)需要特殊权限(例如从特定文件夹中删除)不起作用,因为我得到“权限被拒绝”。例如:
mysu
。
有解决方案吗?我不相信用rm failed for com_rti_tsk.bin, Permission denied
“覆盖”原始su
会解决它(它只是一个名字) - 但它会有帮助吗? (我不想再次重新格式化设备)。我有什么选择?
底线是我需要删除某些文件(需要提升权限),我可以作为系统应用程序运行,我有哪些选项?