加载so有两种方法

System.load() 和System.loadLibrary(); 前者需传入库文件的绝对路径,后者只需传入库文件名。

首先我的jar包目录如下:

Loader是加载类:

static {

try {

InputStream is = null;

if(isCPUInfo64()) {

is = Loader.class.getResource("arm64/libhellojni.so").openStream();

}else {

is = Loader.class.getResource("arm32/libhellojni.so").openStream();

}

File tempFile = File.createTempFile("hellojni", ".so");

FileOutputStream fos = new FileOutputStream(tempFile);

int i;

byte[] buf = new byte[1024];

while ((i = is.read(buf)) != -1) {

fos.write(buf, 0, i);

}

is.close();

fos.close();

System.load(tempFile.getAbsolutePath());

tempFile.deleteOnExit();

} catch (IOException e) {

e.printStackTrace();

}

}

private static boolean isCPUInfo64() {

File cpuInfo = new File("/proc/cpuinfo");

if (cpuInfo != null && cpuInfo.exists()) {

InputStream inputStream = null;

BufferedReader bufferedReader = null;

try {

inputStream = new FileInputStream(cpuInfo);

bufferedReader = new BufferedReader(new InputStreamReader(inputStream), 512);

String line = bufferedReader.readLine();

if (line != null && line.length() > 0 && line.toLowerCase(Locale.US).contains("arch64")) {

return true;

} else {

return false;

}

} catch (Throwable t) {

Log.d("isCPUInfo64", " error = " + t.toString());

} finally {

try {

if (bufferedReader != null) {

bufferedReader.close();

}

if (inputStream != null) {

inputStream.close();

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

return false;

}

android 运行jar包,android将so打到jar包中并运行-Go语言中文社区相关推荐

  1. android 照片拼接长图_android多图拼接长图并合理显示-Go语言中文社区

    以前说过了 重叠部分图片合成,今天说一下canvas.drawBitmap拼接长图 先上效果gif 需求:多图拼接长图,长图大小 宽度为屏幕,高度自己不变形成比例 核心源码1.:final int m ...

  2. android studio 图表,[期末系列]手把手教你在Android Studio中实现图表-Go语言中文社区...

    之所以写这篇博客,不是为了别的,主要是我自己在实现图表过程中,感觉真的挺困难的,虽然网上已经有很多种方法了,我的方法也并非我自己原创的,但是我还是想把我的一些经验分享给大家吧,因为是新手,所以更加懂得 ...

  3. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

  4. android选择头像弹窗,Android App开发常用功能之用户头像选择-Go语言中文社区

    前言 现在的APP基本都有个人资料的填写,基本的都有头像的选择,支持拍照和从本地相册选择,剪切圆形头像的功能,现在用个小demo实现以下. 下面看一下效果图 上代码: 主界面代码 package co ...

  5. Android心电数据分析,Android SurfaceView+Canvas画脉搏/心电数据图-Go语言中文社区

    实际演示效果: Canvas 画图基本步骤: 1.布局添加一个SurfaceView<?xml version="1.0" encoding="utf-8" ...

  6. 管理学生信息android,Android 学生信息管理系统-Go语言中文社区

    android:layout_width="fill_parent"android:layout_height="wrap_content"android:gr ...

  7. java adt简单开发,android java开发 第一天 之熟悉eclipse adt-Go语言中文社区

    1.下载并安装好android-sdk后(android-sdk里包含了android 1.6 ~ android4.0的所有api,支持各种版本的android) 2.下载adt(android d ...

  8. android 圆形图片设置蒙层,Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定-Go语言中文社区...

    新手引导视图,初次打开页面时显示. 支持圆形,椭圆,矩形等多种图形 提示部分支持图片和文字提示 先看效果图 使用步骤. 使用起来特别简单,只需要把GuideView这个类复制到你的项目中就可以了 pa ...

  9. android 渐变的背景色,Android开发——实现背景颜色渐变效果-Go语言中文社区

    前言 在Android开发当中,我们肯定会接到有业务需求是:让APP的某一些背景颜色产生渐变效果.那我们应该怎么去实现呢?接下就是我要为大家介绍的了. 效果图 这是需求要达到的效果.接下来说一下是怎么 ...

  10. linux 网卡包存储,Linux下使用libpcap进行网络抓包并保存到文件-Go语言中文社区

    libpcap是一个抓取网络数据报文的C语言函数库,使用这个库可以非常方便的抓取网络上的报文,方便我们分析经过我们设备上的各种报文: 1.libpcap安装 下载文件:libpcap-x.x.x.ta ...

最新文章

  1. hive币涨幅空间大吗_空间大、油耗低,家用MPV领域的三款全能好车,你心动了吗?...
  2. opensuse 安装java_OpenSUSE Leap 42.3 安装java(Oracle jre)
  3. drop truncate delete区别
  4. 计算机安装双系统后系统引导修复的方法
  5. mfc 制作不同的文档模板mdi不同的子窗体_制作ACK集群自定义节点镜像的正确姿势...
  6. 1.19 实例:Java求数组元素的最大和最小值
  7. java文本编辑器 运行_能编译运行java的简单文本编辑器
  8. Java8 拼接字符串 StringJoiner
  9. 源于十年来的点滴积累——《变革中的思索》印行出版
  10. 元素凸起效果_被誉为作物“生殖元素”的“硼”到底有多重要?看完你就明白了...
  11. canal client leader
  12. Hexo 入门指南(一) - 简介 准备
  13. java跳_用Java实现跳表
  14. 用python实现模拟轮盘抽奖游戏
  15. 排列组合的写法_排列组合公式探究
  16. 学习FPGA绝佳网站推荐
  17. VBS奇葩操作 “我是猪”
  18. 正交设计 python算法_人人都可以掌握的正交试验设计测试用例方法
  19. 发送到桌面快捷方式没有了如何解决?
  20. C\C++开发的经典魔塔小游戏--(4)楼层控制,背景音乐,个人元素

热门文章

  1. android ArcGIS学习笔记一
  2. C#Socket文件传输(发送与接收代码)
  3. C#中容器控件GroupBox、Panel、TabControl
  4. Python如何引用豆瓣api镜像地址
  5. delete 会不会锁表_truncate 和 delete
  6. java和打印机_java实现打印机打印的区别
  7. html js 动态表格数据,HTML+JS动态表格
  8. java 文件分隔_java 实现大文件分隔成多个小文件
  9. linux shell 切割文件,linux shell 将文件按照行数以及顺序拆分成多个文件
  10. iphone图片编辑画笔_苹果超强新功能上线!它打开了 iPhone 摄影的新大门