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
然后,我尝试使用javaProcessBuilder
执行一个命令,如下所示:
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,无法再运行提供的二进制文件…:-(嗨……你找到解决办法了吗