Android(java)学习笔记205:JNI之编写jni程序适配所有处理器型号

本文详细介绍了如何通过在Application.mk文件中设置APP_ABI参数,实现JNI程序在不同平台如ARM、x86等之间的顺利运行,并解决了在x86模拟器上遇到的UnsatisfiedLinkError错误。

1. 还是以"02_两个数相加"为例,你会发现这个jni程序只能在ARM处理器下运行,如下:

 如果我们让上面的程序运行在x86模拟器上,处理平台不对应,报如下错误:

03-29 03:09:25.378: E/AndroidRuntime(1379): at dalvik.system.NativeStart.main(Native Method)
03-29 03:09:25.378: E/AndroidRuntime(1379): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load myadd: findLibrary returned null

 

那该怎么办呢?

2. 步骤如下:

(1)在工程目录下,jni文件夹下创建一个Application.mk文件,如下:

 

里面的内容该怎么写呢?

在android-ndk-r9c\docs\查看文档APPLICATION-MK.html,如下:

 

打开APPLICATION-MK.html,如下:

(2)在该文件中加:

                       APP_ABI := all 就可以生成,所有平台对应的.so文件

                       APP_ABI := armeabi  armeabi -v7a  x86 mips

 

如下:

 

转载于:https://www.cnblogs.com/hebao0514/p/4827266.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值