在android API 31和32上执行二进制文件

问题描述 投票:0回答:1

我有通过 Rust 平台通过工具链制作的可执行文件。 现在有臂弓支撑。

现在我的代码狙击如下

 try {
        File binFilePath1 = new File(getFilesDir() + Util.BinPath);

        ProcessBuilder processBuilder = new ProcessBuilder();
        processBuilder.command(pluginFilePath.getCanonicalPath(), "-c", pingPath.getCanonicalPath(), "-lp"
                , binFilePath1.getCanonicalPath(), "-o", resultPath.getCanonicalPath());

        Process process = processBuilder.start();
        Log.i("", process.toString());
    } catch (IOException e) {
        e.printStackTrace();
    }

所以基本上我的命令是 ./plugintest -c in.conf -lp /data/data/.*.*****/files/bin/lib -o results.txt

它可以在 android API 24,25 上顺利运行

但是当我尝试加载 android 31 / 32 API 级别时,它给了我一个如下所示的错误

System.err:java.io.IOException:无法运行程序“/data/data//files/verifier/bin/plugin-testapp”:错误= 13,权限被拒绝

  • 尝试所有许可,但任何许可都没有运气。

如果需要更多信息,请告诉我。

java android processbuilder
1个回答
0
投票

我也遇到同样的问题。你能解决吗? @HiteshGs

© www.soinside.com 2019 - 2024. All rights reserved.