Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android “无法运行程序”/data/data/my.app.package/files/my executable";:错误=13,权限被拒绝_Android_Processbuilder_Permission Denied - Fatal编程技术网

Android “无法运行程序”/data/data/my.app.package/files/my executable";:错误=13,权限被拒绝

Android “无法运行程序”/data/data/my.app.package/files/my executable";:错误=13,权限被拒绝,android,processbuilder,permission-denied,Android,Processbuilder,Permission Denied,我将二进制可执行文件复制到位置context.getFilesDir(),该位置是路径/data/data/my.app.package/files/my executable /data/data/my.app.package/files/my executable的文件权限为-rwxr-xr-x 然后,我尝试使用javaProcessBuilder执行一个命令,如下所示: commands = Arrays.asList("/data/data/my.app.package/files/my

我将二进制可执行文件复制到位置
context.getFilesDir()
,该位置是路径
/data/data/my.app.package/files/my executable

/data/data/my.app.package/files/my executable的文件权限为
-rwxr-xr-x

然后,我尝试使用java
ProcessBuilder
执行一个命令,如下所示:

commands = Arrays.asList("/data/data/my.app.package/files/my-executable", "ls");
ProcessBuilder pb = new ProcessBuilder(commands);
pb.redirectErrorStream(true);
final Process p = pb.start();
语句
pb.start()
引发以下IOException:

Caused by java.io.IOException: error=13, Permission denied
       at java.lang.UNIXProcess.forkAndExec(UNIXProcess.java)
       at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
       at java.lang.ProcessImpl.start(ProcessImpl.java:141)
       at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

Cannot run program "/data/data/my.app.package/files/my-executable": error=13, Permission denied
由java.io.IOException引起:错误=13,权限被拒绝
位于java.lang.UNIXProcess.forkAndExec(UNIXProcess.java)
位于java.lang.UNIXProcess(UNIXProcess.java:133)
在java.lang.ProcessImpl.start(ProcessImpl.java:141)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
无法运行程序“/data/data/my.app.package/files/my executable”:错误=13,权限被拒绝
我在测试电话上没有root访问权限。在Android版本9(API 28)之前,它运行良好。从Android 10(API 29)开始,我得到了上面的IOException


如何在Android 10+中运行可执行文件?它在另一个目录中工作吗?感谢您的帮助。

我通过将build.gradle(模块:app)'中的'android.defaultConfig.targetSdkVersion'的值从'29'更改为'28'来解决问题。

有解决方案吗?这里也有同样的问题,看起来没有解决办法。由于API 29,无法再运行提供的二进制文件…:-(嗨……你找到解决办法了吗