首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Android Studio中加载so库时的java.lang.UnsatisfiedLinkError

在Android Studio中加载so库时的java.lang.UnsatisfiedLinkError
EN

Stack Overflow用户
提问于 2017-02-02 07:36:11
回答 2查看 2.3K关注 0票数 0

我正在尝试运行this项目.Every,当我运行该项目时收到以下错误:

java.lang.UnsatisfiedLinkError: dlopen失败:dlopen具有文本位置

项目不会加载*.so文件。我已经将so文件的位置从libs更改为jniLibs,但仍然得到相同的问题。

构建.gradle

代码语言:javascript
运行
AI代码解释
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.sharannya.androidspeakerrec"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            cmake {
                cppFlags ""
            }
        }
        ndk {
            abiFilters "armeabi-v7a","armeabi"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    testCompile 'junit:junit:4.12'
}

从java代码调用

代码语言:javascript
运行
AI代码解释
复制
static {
        try {
            System.loadLibrary("ndkspeaker");
        } catch (UnsatisfiedLinkError e) {
            Log.e("Error in loading lib","Native code library failed to load" + e);
        }

    }

Android.mk

代码语言:javascript
运行
AI代码解释
复制
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE    := ndkspeaker
LOCAL_LDLIBS    := -llog
LOCAL_SRC_FILES :=  lib_mfcc/abs.c \
                    lib_mfcc/abs1.c \
                    lib_mfcc/fft.c \
                    lib_mfcc/fi_fft.c \
                    lib_mfcc/fi_mfcc.c \
                    lib_mfcc/fi_mfcc_initialize.c \
                    lib_mfcc/fi_mfcc_rtwutil.c \
                    lib_mfcc/fi_mfcc_terminate.c \
                    lib_mfcc/log.c \
                    lib_mfcc/mfcc_bare.c \
                    lib_mfcc/mtimes1.c \
                    lib_mfcc/power1.c \
                    lib_mfcc/rt_nonfinite.c \
                    lib_mfcc/rtGetInf.c \
                    lib_mfcc/rtGetNaN.c \
                    lib_mfcc/sqrt.c \
                    lib_mfcc/sum.c \
                    SpeakerRecognizer.c

APP_ABI := armeabi

include $(BUILD_SHARED_LIBRARY)

.so文件位于项目/app/src/main/jniLibs/armeabi和项目/app/src/main/jniLibs/armeabi-v7a中

我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2017-02-02 10:08:40

您可能需要在gradle文件中设置'jniLibs.srcDirs‘。您可以查看这里-实际上,问题中的代码应该会对您有所帮助:How to setup NDK libs path in Gradle?

票数 0
EN

Stack Overflow用户

发布于 2017-02-03 14:16:59

经过一段时间的代码挖掘,我得到了问题的解决方案。

我尝试运行的项目是一个使用Android mk ndk build .So的旧项目,我从项目中删除了所有的cpp文件夹和cmake文件。

然后右键单击库并选择"Link c++ with gradle“选项。单击该选项时,将显示一个窗口,用于选择构建system.Select "ndk build“的类型,并将Android.mk路径链接到项目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41996546

复制
相关文章
Excel催化剂开源第3波-修复ExcelCom加载项失效问题及WPS可调用Com加载项的方法
为了还原一个干净无侵扰的网络世界,本文将不进行大规模地分发,若您觉得此文有用,不妨小范围地分享到真正有需要的人手中
Excel催化剂
2021/08/19
1.2K0
解决Excel下挪动加载项(.xlam)后,重新加载xlam还是每次启动Excel都报错的问题
问题描述:Excel加载了一个插件,但是因为目录调整自己挪动了位置,即使重新加载该插件,每次重启Excel还是报之前找不到插件的问题,虽然能使用,但是每次都报错很烦。
williamwong
2021/09/26
2.7K0
解决Excel下挪动加载项(.xlam)后,重新加载xlam还是每次启动Excel都报错的问题
如何确保安装并加载VBA加载项文件
在某些情形下,可能希望将加载项中的代码合并到其他VBA过程中,或者允许其他人访问你的加载项。此时,为了防止加载项卸载或未安装而导致出错,可以使用VBA代码确保加载项正确加载到你正在使用的任一Microsoft Office程序中。
fanjy
2023/08/30
3200
如何确保安装并加载VBA加载项文件
前端|对wps加载项的探究
WPS 加载项是一套基于 Web 技术用来扩展 WPS 应用程序的解决方案。每个 WPS 加载项都对应打开了一个网页,并通过调用网页中 JavaScript 方法来完成其功能逻辑。WPS 加载项打开的网页可以直接与 WPS 应用程序进行交互,同时一个 WPS 加载项中的多个网页形成了一个整体, 相互之间可以进行数据共享。开发者不必关注浏览器兼容的问题,因为 WPS 加载项的底层是以 Chromium 开源浏览器项目为基础进行的优化扩展。
算法与编程之美
2020/03/25
3.5K0
前端|npm全局创建wps加载项
基于vscode的方式创建wps加载项在获取类型之后,无法自动生成wps加载项,在网上查询相关问题内容也无果。不过Wps官方文档又更新了通过npm全局的方式创建wps加载项,下面就来具体介绍一下。
算法与编程之美
2020/03/31
1.9K0
js 数组去除重复数据-当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
  有朋友留言说,微软早就在Office里也支持JS了,比如Script Lab……其实关于Script Lab,二年前我们就聊过一次。今天就再大家详细聊一下,这主要包含了以下内容:
宜轩
2022/12/26
2.6K0
IE Flash10b.ocx加载项失败 解决
在做一个页面的视频录制时,预览页面时,总会提示Flash10b.ocx加载项失败 ,导致IE被迫关闭,很是恼火。在网上搜了下,原来是原来是Adobe Flash player控件出的问题,10.0的版本加载IE会出现那样的问题。按照网上所说,将Adobe Flash player 10.0 卸载了,安装了Adobe Flash player 9.0的试了下尽可以了。就将此记录了
全栈程序员站长
2022/09/06
9180
真正彻底卸载ie8的某些加载项
但是,有的加载项“删除”不可选的,这时如果是你不想要的或流氓加载项咋办?如果你不只是禁用掉它,还需要永久删除掉它,怎么办?
williamwong
2018/07/24
8350
真正彻底卸载ie8的某些加载项
震惊!当Python遇到Excel后,将开启你的认知虫洞
本文主要讲Python与Excel的关系以及集成方案,Office家族的其他成员,如Word、PowerPoint与Excel拥有类似的功能,Python同样可以与Word、PowerPoint等Office成员结合,这些内容我以后会写文章讲解。
蒙娜丽宁
2020/06/03
3.6K0
web未能加载文件或程序集“XXX”或它的某一个依赖项
如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误
Python进阶者
2021/08/25
2.1K0
web未能加载文件或程序集“XXX”或它的某一个依赖项
如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误
前端皮皮
2020/11/26
1.5K0
web未能加载文件或程序集“XXX”或它的某一个依赖项
异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项
常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项
跟着阿笨一起玩NET
2018/09/19
5.8K0
异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项
一项新特性提升MergeTree加载性能200倍
大家知道 MergeTree 是以分区目录的形式组织数据的,只要每写入一次数据,就会在磁盘上创建一个新分区文件(parts)。随着时间的推移,相同分区的文件会被合并成一个,关于这一块的逻辑可以看我的早期文章,《传送门》。
Nauu
2022/08/30
7390
WordPress移除head头部js、css、feed等多余加载项
在我们开发WordPress主题时,细心的小伙伴或发现网站头部如果加载head页面就会出现很多系统自带的加载项目,例如自带的css、js、feed、style等多余信息。
开心分享
2020/08/06
2.6K0
Excel技巧 – VLOOKUP(查找项,匹配数据项,使用匹配数据项序号,匹配条件) – 函数填充指定内容
在使用VLOOKUP的时候,请使用绝对引用:https://www.zanglikun.com/17999.html
收心
2023/08/24
1K0
Excel技巧 –  VLOOKUP(查找项,匹配数据项,使用匹配数据项序号,匹配条件) – 函数填充指定内容
python 加载excel报错
file1=pd.read_excel('F:/dataanalysis/statistics/PelicanStores.xlsx')
py3study
2020/01/06
9230
SpringBoot获取配置项原内容
那么使用该工具类getProperty("my.url")获取到的就是 https://${my.name}.com 原文, 而不是 https://test.com
code-x
2023/02/23
9720
小程序如何针对某次请求设置超时时间的加载项?
1、点击[编辑器] 2、点击[pagePath] 3、点击[文本] 4、点击[新建] 5、点击[文件夹] 6、点击[images] 7、点击[images] 8、点击[selectedIconPath] 9、点击[iconPath] 10、点击[编译] 11、点击[text] 12、点击[编译] 13、点击[编辑器] 14、点击[编译] 15、点击[编辑器] 16、点击[编译] 17、点击[编辑器] 18、点击[编辑器] 19
裴来凡
2022/05/28
2.3K0
小程序如何针对某次请求设置超时时间的加载项?
判断图片是否加载完成
有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。有三种方式实现,下面一一介绍。 1、load事件 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>img - load event</title> </head> <body> <img id="img1" src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg"> <p id="p1">loading...</p> <
前朝楚水
2018/04/02
4.6K0
点击加载更多

相似问题

如何检查office文档excel是否为只读office.js加载项

13

Excel Office.js加载项在Windows10上不再正确加载

37

Microsoft Excel加载项-如何知道它是否已经安装。office.js

13

使加载项在Excel 2016 for Windows中可用

10

OSX是否支持Office加载项?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文