java.lang.UnsatisfiedLinkError

以下是我出现的错误

Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.uhf-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.uhf-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libDeviceAPI.so"

UnsatisfiedLinkError:链接失败错误
上述错误就是出现了libDeviceAPI.so没有编译进/data/app/com.example.uhf-1/lib/arm64这个目录下

解决:
第一步:
在 项目xxx/app/build.gradle目录下添加 abiFilters sourceSets

android {
***
		defaultConfig{
			****
			 // 设置支持的SO库架构,armeabi是手机通用支持的架构,也可以自己加多别的架构
    		abiFilters 'armeabi'
		}
		sourceSets {
		        main {
		            jniLibs.srcDirs = ['libs']
		            //如果你的也是jnilibs,最好把(jniLibs/armeabi的armeabi目录包含文件复制到libs目录下)
		            //jniLibs.srcDirs = ['jnilibs']  //我使用这个没有编译成功
		        }
		}
***
}

第二步
在项目下gradle.properties文件下要增加: (没有这个文件可自己创建这个文件)

android.useDeprecatedNdk=true

我用这个方法解决了我的这个错误,记录一下

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值