Linux下NDK编译出的SO库能在WIndows下的android工程直接使用么

 我来答
匿名用户
2016-04-12
展开全部
先区分清楚host和target的区别。
Linux和Windows是你的host platform。
Android是target platform。

编译Android library使用cross-compilation (交叉编译),即在某个host平台下编译针对某个特定的target平台的体系结构的代码。

使用ndk,只要选择了正确的target平台的ABI(arm,x86,mips等),那你编译得到的.so就能被相应的target平台执行。

如楼上所说,请先检查下面几点:
1. 交叉编译的ABI和你要运行代码的平台是否一致。
2. 检查.so是否被打包进apk文件。用解压缩软件(如winrar,好压)可以解压缩apk,查看你的.so是否在lib文件夹下。
3. 检查.so是否在java code里被Load成功。
4. 检查JAVA定义的native function的名称, 检查JNI函数的名称
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式