发布网友 发布时间:2022-04-22 18:28
共5个回答
热心网友 时间:2023-11-15 08:43
可以调用,但是不能直接调用,要通过代码目的JNI去调用,在JNI中导入头文件,通过NDK编译成功后即可。
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 就运行正常啦。
热心网友 时间:2023-11-15 08:44
恩,当然不行,你编译出来的库是linux,就算你编译通过了,在android下面肯定运行不了,你得用android的方式来编译。上层调底层的so库肯定运行不了的。那根本不是兼容问题,是用的C 库都不一样
热心网友 时间:2023-11-15 08:44
当然可以 。。。。android的本质就是linux
热心网友 时间:2023-11-15 08:45
不要纠结了,用android-ndk重新编译吧,体系都有可能不一样,还有系统api。
热心网友 时间:2023-11-15 08:45
网上有很多android调用C++的教程,但是多是调用的.so 。请问是否可以调用DLL?如何实现?谢谢 啦!! 好像不行吧 可以,但是具体实现方法就不知道C