Android 将*.so从.jar(通过Maven)复制到apk

Android 将*.so从.jar(通过Maven)复制到apk,android,maven,android-studio,java-native-interface,.so,Android,Maven,Android Studio,Java Native Interface,.so,我在Android项目中通过Maven导入了一个库。这个图书馆有三个。当我生成APK时,我会在我的APK上复制*.so 你知道我该怎么做吗?将.so文件放在jniLibs/armeabi/文件夹中,它们将自动与apk绑定。首先你需要从jar中提取.so文件。根据您的操作系统的不同,这可以通过不同的方式来实现。在linux中,您可以在右键单击菜单上找到提取存档的选项。在windows和MAC中,也将提供类似的选项。从jar中提取.so文件后,您需要将这些.so文件复制到jniLibs文件夹中的子文

我在Android项目中通过Maven导入了一个库。这个图书馆有三个。当我生成APK时,我会在我的APK上复制*.so


你知道我该怎么做吗?

.so
文件放在
jniLibs/armeabi/
文件夹中,它们将自动与apk绑定。

首先你需要从jar中提取.so文件。根据您的操作系统的不同,这可以通过不同的方式来实现。在linux中,您可以在右键单击菜单上找到提取存档的选项。在windows和MAC中,也将提供类似的选项。从jar中提取.so文件后,您需要将这些.so文件复制到jniLibs文件夹中的子文件夹中(如果您的模块是默认的.ie.app,则应在/app/src/main/处创建)。还请注意,.so文件应复制到jniLibs中的相关子文件夹中。ie,armeabi.so文件应该在armeabi和x86中。所以如果有任何文件,应该放在x86文件夹中。

谢谢你的回复,我不能这样做,我拖放时会出错。因此,无法执行.jar中的文件重构。文件*/**/.so位于jar文件中“谢谢你,如果我理解,我必须手动执行。事实上,每天我都会将我的项目与gradle同步,以获得最新版本的库。所以每天,我都要提取.So文件?我假设你使用的是Android Studio。在app/build/intermediates/aar下查找这些.so文件。您只需将此目录添加到jniLib SRCDIR列表中即可。事实上,自从我将gradle类路径版本从1.3.0更新到1.5.0后,我就出现了此错误。我不知道这是否是一个bug,但由于我回到了旧版本(1.3.0),共享库会自动复制到我的APK中