说明:新人,对java不熟,见谅。

1. 新建工程,添加好native support,写好对应的文件(包括cpp文件,so文件和对应的java文件,此处称对应的java文件为SoJAR.java,)。

2. 右键单击该SoJAR.java文件,选择Export,选择java中的JAR file。

之后设置好路径,一路finish。便可生成对应的jar文件。

3. 将生成的SoJAR.jar文件放到新的工程的libs目录下(老版本的可能步骤比较复杂,我用的Eclipse 23,不需要别的设置,直接放进去就行了),将libSoJAR.so文件放到libs\armeabi目录下(或者对应的目录下)。

4. 正常编写代码。

Sojar.somecode();

  

问题:遇到的一个问题是,如果使用原来的so的话,需要2s;使用jar包的话,需要8s。暂时不是很清楚速度为何差距这么大(里面有很多new和delete以及循环)。

1411061030更新:换了一个简单的测试程序,就是两个400*400的矩阵相乘。使用so用时1460ms,使用jar的包1495ms。暂时不清楚为什么这次时间差距没有这么大。

1411061411更新:速度问题已经解决,由于so的包的问题。原来的so包使用application.mk生成了armeabi armeabi-v7a mips x86四种so的库,新的jar包只使用了armeabi的包,因而速度变成了8s。删除该文件夹,复制armeabi-v7a文件夹后,速度变成了2s(ps,现在的程序依旧无法使用,因为太慢了)。不过使用mips x86这两个so的库的话,程序直接崩溃了。所以选择合适的so库还是很有必要的。

主要参考:

http://stackoverflow.com/questions/24773153/the-library-javacv-android-arm-jar-contains-native-libraries-that-will-not-run

(原)Eclipse中将JNI生成的so打包成jar的步骤的更多相关文章

  1. Eclipse中将含有图片资源的项目打包成jar文件

    前言: 最近学了GUI编程和UDP协议,心血来潮想做一个局域网内的聊天软件,前期都还算顺利,直到后来将整个项目打包成jar文件时遇到了困难.如图: 自己设置的图标不见了,但是也没有默认的图标,说明图片 ...

  2. AndroidStudio项目打包成jar

    AndroidStudio项目打包成jar 前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和ar ...

  3. 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包

    使用Eclipse把java文件打包成jar 含有第三方jar库的jar包   网上打包说用eclipse安装fat jar插件,但是貌似现在都不能用了,所以我只能按照eclipse自带的方法打包了. ...

  4. (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

    Eclipse中创建Maven项目 new ---> maven project  ----> next 如下 普通java项目 选择  如下 quickstart 创建项目 : 输入 G ...

  5. 【hadoop】 eclipse中的“run on hadoop”和打包成jar提交任务的区别

    eclipse中的 调试运行 及 “run on hadoop”默认只是运行在单机上的,因为要想在集群中让程序分布式运行还要经历上传类文件.分发到各个节点等过程, 一个简单的“run on hadoo ...

  6. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  7. 转载:java程序打包成jar 配置文件信息路径

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  8. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

    1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...

  9. java程序打包成jar 配置文件信息路径

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

随机推荐

  1. 洛谷 P1656 炸铁路

    P1656 炸铁路 题目提供者kkksc03 标签图论搜索/枚举洛谷原创 难度普及/提高- 题目描述 因为某国被某红色政权残酷的高压暴力统治.美国派出将军uim,对该国进行战略性措施,以解救涂炭的生灵 ...

  2. 通过jqueryui实现邮件提示

    //js代码$(function () { var availableTags = ["@qq.com", "@gmail.com", "@126.c ...

  3. 【劳动节江南白衣Calvin 】我的后端开发书架2015

    自从技术书的书架设定为”床底下“之后,又多了很多买书的空间.中国什么都贵,就是书便宜. 不定期更新,在碎片化的阅读下难免错评. 书架主要针对Java后端开发,书单更偏爱那些能用简短流畅的话,把少壮不努 ...

  4. Symfony2 Doctrine从现有Database生成Entity(转载自http://blog.it985.com/6809.html)

    在我的以前一章Symfony之十分钟入门说了怎样生成数据库,然后设计实体Entity,再同步数据库的表结构,一般我们的顺序都是这样:生成数据库->设计实体Entity->同步数据库表结构. ...

  5. mapreduce的基本思想

    1.什么是mapreduce mapreduce是hadoop自带的分布式计算框架. 2.mapreduce的基本思想 2.1.能够解决什么问题假设一个场景:一个电商系统,统计某个手机号的用户的上行和 ...

  6. [UVA] 784 - Maze Exploration

      Maze Exploration  A maze of rectangular rooms is represented on a two dimensional grid as illustra ...

  7. C语言 中缀转后缀

    给定字符串型的算术表达式,实现中缀转后缀并运算得出结果: #ifndef STACK_H_INCLUDED #define STACK_H_INCLUDED #include <stdio.h& ...

  8. DBA 思想天空笔记

    /*+leading(t1) use_nl(t2*/这个HINT的含义,其中use_nl表示强制用嵌套循环连接方式.Leading(t1)表示强制先访问t1表,也就是t1表作为驱动表,增加HINT的目 ...

  9. SVN取消记住密码

    百度上面找的,SVN取消记录密码的方法: 找到这个文件夹首先需要在文件夹选项里面,显示所有的文件和文件夹,不能隐藏. SVN取消记住用户名的方法 打开C:\Documents and Settings ...

  10. 将图片以Blob格式存入数据库,再通过Servlet显示到界面

    1:为了方便测试,直接将1.png图片存入到数据库中. public static void storePicBlog() throws FileNotFoundException, SQLExcep ...