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

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

可以直接在android工程下使用,因为android就是linux内核。

1.android的NDK开发需要在linux下进行: 因为需要把C/C++编写的代码生成能在arm上运行的.so文件,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。

2.安装android-ndk开发包,这个开发包可以在google android 官网下载: 通过这个开发包的工具才能将android jni 的C/C++的代码编译成库

3.android应用程序开发环境: 包括eclipse、java、 android sdk、 adt等。

NDK编译步骤:

1.选择 ndk 自带的例子 hello-jni ,位于E:\android-ndk-r5\samples\hello-jni( 根据具体的安装位置而定 ) 。

2.运行 cygwin ,输入命令 cd /cygdrive/e/android-ndk-r5/samples/hello-jni ,进入到 E:\android-ndk-r5\samples\hello-jni 目录。

3.输入 $NDK/ndk-build ,执行成功后,它会自动生成一个 libs 目录,把编译生成的 .so 文件放在里面。 ($NDK是调用我们之前配置好的环境变量, ndk-build 是调用 ndk 的编译程序 )

4.此时去 hello-jni 的 libs 目录下看有没有生成的 .so 文件,如果有,ndk 就运行正常啦。

因为有些类型是不一样的,如果是经过另外的编译方式的话在arm运行的,嵌入式使用的就是你的代码是在Linux上别写的,但是由于编译方式的不同,可以将C程序运行在不同的平台上,这没什么好奇怪的。C语言程序可以运行在任何的平台上,只是编译方式的不同而已。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8788308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存