为什么 Runtime.getRuntime().exec() 发出异常为 No such file or directory

问题描述

我在下载后构建了 iperf。然后,我将在 Android 项目中构建的 iperf 可执行文件推送为 app/src/main/jniLibs(包括 arm64-v8a、armeabi-v7a、x86 和 x86_64)。 我试图将该可执行文件重命名为“libiperf.so”。 我在点击事件中写下了以下代码

String[] path = {getApplicationInfo().nativeLibraryDir + "/libiperf.so","-v"};
process = Runtime.getRuntime().exec(path); 

但 Android Studio 发出异常,如“无法运行程序”/data/app/com.example.iperf-RP_dMVQlcYeU-n_xznRvhQ==/lib/x86/libiperf.so”:错误=2,没有这样的文件或目录”给我。

有一件奇怪的事情。如果我通过 Android Studio 模拟器的设备文件资源管理器查看 /data/app/package**/lib/x86 文件夹,该文件夹中没有文件。我真正的三星手机也有同样的问题。 更奇怪的是,Android Studio 构建的apk 文件有'libiperf.so' 文件要运行

我无法解决错误。 请帮我。 提前致谢。

解决方法

在您的清单中添加 android:extractNativeLibs="true"。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...