Android 关于.so文件的导入和使用

  • .so文件的导入
  • .so文件的使用

.so文件的导入

1. 为设备所支持的CPU架构创建相应的lib目录
但是所有设备都能兼容armeabi-v7a这个架构,所以如果需要缩减apk大小,可以只保留armeabi-v7a这个目录。
最好还是能为该设备所支持的架构都创建对应目录,提升程序效率。
查询设备CPU信息方法:
adb shell
cat /proc/cpuinfo
但是,如果不确定支持的cpu架构是哪种,也可以全部都创建上,也不是不行,哈哈…。
比如下图所示:

2. 加载.so的java类所在目录
.so可能来自其它project,当要导入到一个新的project中进行使用时,需要注意:.so可能来自其它project,当要导入到一个新的project中进行使用时,需要注意:
调用System.loadLibrary(“libxxx.so”)的java类,所在的目录必须和之前project所使用的目录一致,否则会出现 java.lang.UnsatisfiedLinkError 此类的运行时异常。

3. 程序中加载.so

static {        System.loadLibrary("upnp");    }

4. build.gradle 文件修改

android {sourceSets.main{        jniLibs.srcDirs = ['src/main/jniLibs'];}}

.so文件的使用

//Java类中,声明JNI方法。使用的地方,直接调用即可。private static native void _start();private static native void _stop();

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  6. Android(安卓)activity简单的跳转
  7. Hybrid Android(安卓)App中通过js访问Shared Preferences的问题
  8. 基于Android搭建tensorflow lite,实现官网的Demo以及运行自定义t
  9. Android之存储目录

随机推荐

  1. Android(安卓)Wifi:使用Android(安卓)Inst
  2. Android学习笔记(九) Android文件读写操
  3. 分享20个Android游戏源码,…
  4. Android第二十七课 NDK 渲染色彩深度
  5. Android(安卓)支持多屏幕机制
  6. 巧妙利用PARTITION分组排名递增特性解决
  7. sql编程工具Sql Prompt下载及安装破解图
  8. 如何使用Visual Studio 2010在数据库中生
  9. MSSQL事务的存储过程
  10. SQL Server UPDATE语句的用法详解