问题描述
我在下载后构建了 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"。