Android targetSdkVersion大于28时执行二进制文件出现Permission denied错误的问题求助
Android targetSdkVersion大于28时执行二进制文件出现Permission denied错误的问题求助
我开发了一个用来创建SSH连接隧道做流量转发的应用,在targetSdkVersion 28及以下的设备上运行完全没问题,但一旦把targetSdkVersion升到28以上,执行二进制文件相关的命令时就会报错,要么是错误码126,要么直接提示Permission denied。
我完全搞不清楚API 29及以上版本到底在权限、/data/data目录或者其他方面做了什么变更,而且错误提示也太模糊了,根本不知道从哪入手排查。
下面是我执行命令用到的相关代码片段:
protected static String BASE = "/data/data/com.staf621.ki4a/ki4a"; protected static String BASE_BIN = "/bin"; ssh_return_val = Util.runChainFireCommand( ((key_switch && !enc_ssh_key) ? "" : BASE + BASE_BIN + "/sshpass -p \"" + password_text + "\" ") + BASE + BASE_BIN + "/ssh " + server_text + " -p " + port_number + " -l " + user_text + " -NT -g -D " + Util.localSoc...
有没有大佬遇到过类似的情况?能不能帮忙分析一下可能的原因,或者给点排查方向?
备注:内容来源于stack exchange,提问作者Beam config




