背景:
我想在Android Studio 3.4中使用第三方库。该库包含三个文件:see pics
“ StrideAnalyticsLib.jar”中的类文件表明它们似乎是通过使用SWIG生成的。
我尝试了两种导入该库的方法,但仍然无法
导入StrideAnalyticsLib。*;
但是,这不允许访问类,并显示“无法 解决符号...”。
.so文件带有jniLibs
〜/ main / jniLibs /
〜/ main / jniLibs / arm64-v8a / libAnalyticsLib.so
〜/ main / jniLibs / armeabi / libAnalyticsLib.so
.so文件在libs中;同时,我在build.gradle中添加了“ sourceSets {main {jniLibs.srcDirs = ['libs']}}}”;
〜/ libs /
〜/ libs / arm64-v8a / libAnalyticsLib.so
〜/ libs / armeabi / libAnalyticsLib.so
两次尝试都需要清理和重建项目。我对Android还是很陌生,无法正常工作。有人可以提供帮助吗?非常感谢!
答案 0 :(得分:0)
在研究了使用SWIG将c / c ++库包装到.jar和.so。的过程之后,我意识到.jar和.so将具有相同的包名称,以便.jar可以调用.so文件。
由于我的.jar保存在/ libs中时不起作用,因此我复制了.jar中的所有类并将其粘贴到/ main文件夹中。切记将它们放在您的程序包之外,否则这些类的程序包名称将被更改,这将导致我的问题。导入.so的方式是正确的。只需将.so文件放在/ main / jniLibs中。