繁体   English   中英

如何将现有的.so库添加到Android Studio项目中?

[英]How do you add an existing .so library to an Android Studio project?

有几个消息来源说你应该在src / main /中创建一个名为jniLibs / armeabi的目录,并将你编译的.so文件添加到这个位置。 然后使用System.loadLibrary(“nameOflib”)加载库。

我的问题是,当我定义我的功能时

public native long create();

create()给出错误:

无法解析相应的JNI函数Java_com_brendan_myApplication_MainActivity_create。 报告Java中的本机方法声明,其中在项目中找不到相应的JNI函数。

有任何想法吗?

事实证明,即使出现“无法解析相应的JNI函数”的错误,我仍然可以调用jni方法。

要解决该问题,请按照以下步骤操作并访问以下链接:

在Android Studio 1.0.2中添加.so库

  1. 在“src / main /”中创建文件夹“jniLibs”
  2. 将所有.so库放在“src / main / jniLibs”文件夹中
  3. 文件夹结构看起来像,
    | --app:
    | - | --src:
    | - | - | - 主
    | - | - | - | --jniLibs
    | - | - | - | - | --armeabi
    | - | - | - | - | - | - 。so文件
  4. 没有额外的代码只需同步您的项目并运行您的应用程序。

    参考
    https://github.com/commonsguy/sqlcipher-gradle/tree/master/src/main

来自: 如何在Android Studio中包含* .so库?

编辑:我想这可能不是配置问题,而是你如何在Android NDK中声明本机方法签名

检查此链接: 在Android NDK中编写本机方法签名的正确方法是什么?

希望它有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM