我在arm ubuntu下面编译了一个类库libmono2.so
请问我可以把他丢到android下面调用吗?具体方法是什么呢?
我是linux小白
我在arm ubuntu下面编译了一个类库libmono2.so
请问我可以把他丢到android下面调用吗?具体方法是什么呢?
我是linux小白
如果你是用 Android NDK 编译的,那么是可以的。注意要连同它依赖的库一起放 Android 里。我一般是放 /system/lib
下。如果是其它工具链编译的,可能会需要 glibc 等 Android 上没有的基础库,会很麻烦。
不知道你想怎么调用。如果你是写 Android 应用的话,共享库也是打包到 apk 里的。
将编译好的libmono2.so
放到系统的/system/lib
目录下。打开Eclipse上ADT插件里面的File Explorer工具,点击/system/lib
目录,选择右上角有个push a file onto devices,打开对话框后,再选择libmono2.so
文件,确定后即可将lib文件放到手机中了。(如果不行也可以使用ADB自带adb push命令)。再设置其权限为744,命令如下
#用命令行方式访问手机设备
adb shell
#进入/system/lib目录
cd /system/lib
#设置libmono2.so权限为744
chmod 744 libmono2.so
此时利用Jni机制编写装载Jni库方法的类,类里面需要严格按照Jni机制进行编写Jni接口
在软件工程下新建libs/armeabi文件夹,并将libmono2.so
库拷贝进去。
接下来做的就是重写Jni接口,和方法1的最后过程是一样的。
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答812 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
把c++的库都静态编译,虽然占空间,但是兼容性还是不错的,至少不用考虑glibc的问题。在android和ios上都能用。