android 运行jar包,android将so打到jar包中并运行-Go语言中文社区
加载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语言中文社区相关推荐
- android 照片拼接长图_android多图拼接长图并合理显示-Go语言中文社区
以前说过了 重叠部分图片合成,今天说一下canvas.drawBitmap拼接长图 先上效果gif 需求:多图拼接长图,长图大小 宽度为屏幕,高度自己不变形成比例 核心源码1.:final int m ...
- android studio 图表,[期末系列]手把手教你在Android Studio中实现图表-Go语言中文社区...
之所以写这篇博客,不是为了别的,主要是我自己在实现图表过程中,感觉真的挺困难的,虽然网上已经有很多种方法了,我的方法也并非我自己原创的,但是我还是想把我的一些经验分享给大家吧,因为是新手,所以更加懂得 ...
- android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...
在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...
- android选择头像弹窗,Android App开发常用功能之用户头像选择-Go语言中文社区
前言 现在的APP基本都有个人资料的填写,基本的都有头像的选择,支持拍照和从本地相册选择,剪切圆形头像的功能,现在用个小demo实现以下. 下面看一下效果图 上代码: 主界面代码 package co ...
- Android心电数据分析,Android SurfaceView+Canvas画脉搏/心电数据图-Go语言中文社区
实际演示效果: Canvas 画图基本步骤: 1.布局添加一个SurfaceView<?xml version="1.0" encoding="utf-8" ...
- 管理学生信息android,Android 学生信息管理系统-Go语言中文社区
android:layout_width="fill_parent"android:layout_height="wrap_content"android:gr ...
- java adt简单开发,android java开发 第一天 之熟悉eclipse adt-Go语言中文社区
1.下载并安装好android-sdk后(android-sdk里包含了android 1.6 ~ android4.0的所有api,支持各种版本的android) 2.下载adt(android d ...
- android 圆形图片设置蒙层,Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定-Go语言中文社区...
新手引导视图,初次打开页面时显示. 支持圆形,椭圆,矩形等多种图形 提示部分支持图片和文字提示 先看效果图 使用步骤. 使用起来特别简单,只需要把GuideView这个类复制到你的项目中就可以了 pa ...
- android 渐变的背景色,Android开发——实现背景颜色渐变效果-Go语言中文社区
前言 在Android开发当中,我们肯定会接到有业务需求是:让APP的某一些背景颜色产生渐变效果.那我们应该怎么去实现呢?接下就是我要为大家介绍的了. 效果图 这是需求要达到的效果.接下来说一下是怎么 ...
- linux 网卡包存储,Linux下使用libpcap进行网络抓包并保存到文件-Go语言中文社区
libpcap是一个抓取网络数据报文的C语言函数库,使用这个库可以非常方便的抓取网络上的报文,方便我们分析经过我们设备上的各种报文: 1.libpcap安装 下载文件:libpcap-x.x.x.ta ...
最新文章
- hive币涨幅空间大吗_空间大、油耗低,家用MPV领域的三款全能好车,你心动了吗?...
- opensuse 安装java_OpenSUSE Leap 42.3 安装java(Oracle jre)
- drop truncate delete区别
- 计算机安装双系统后系统引导修复的方法
- mfc 制作不同的文档模板mdi不同的子窗体_制作ACK集群自定义节点镜像的正确姿势...
- 1.19 实例:Java求数组元素的最大和最小值
- java文本编辑器 运行_能编译运行java的简单文本编辑器
- Java8 拼接字符串 StringJoiner
- 源于十年来的点滴积累——《变革中的思索》印行出版
- 元素凸起效果_被誉为作物“生殖元素”的“硼”到底有多重要?看完你就明白了...
- canal client leader
- Hexo 入门指南(一) - 简介 准备
- java跳_用Java实现跳表
- 用python实现模拟轮盘抽奖游戏
- 排列组合的写法_排列组合公式探究
- 学习FPGA绝佳网站推荐
- VBS奇葩操作 “我是猪”
- 正交设计 python算法_人人都可以掌握的正交试验设计测试用例方法
- 发送到桌面快捷方式没有了如何解决?
- C\C++开发的经典魔塔小游戏--(4)楼层控制,背景音乐,个人元素
热门文章
- android ArcGIS学习笔记一
- C#Socket文件传输(发送与接收代码)
- C#中容器控件GroupBox、Panel、TabControl
- Python如何引用豆瓣api镜像地址
- delete 会不会锁表_truncate 和 delete
- java和打印机_java实现打印机打印的区别
- html js 动态表格数据,HTML+JS动态表格
- java 文件分隔_java 实现大文件分隔成多个小文件
- linux shell 切割文件,linux shell 将文件按照行数以及顺序拆分成多个文件
- iphone图片编辑画笔_苹果超强新功能上线!它打开了 iPhone 摄影的新大门