最近要做一个电子书项目用到FBReaderJ

第一步,也是最难的一步,要编译他的Jni 文件,对于android开发还是小白的我,只能说难!好难!非常难!,于是乎百度了一下,找到几篇有价值性的文章

  第一篇,用ADT编译,这里我要吐槽一下,虽然时隔三年,ADT依然不少人使用,但明显已经成为谷歌的弃婴,奈何FBReaderJ没有Android Studio的解决方案

  http://www.whatjay.com/?p=1082

  这个我没试,感觉有点复杂

  第二篇,使用NDK+CMD 感觉作者是大牛,写得东西太简单,看完之后也摸不着北,但可以知道这个方法肯定行,而且比ADT会简单好多

  http://www.cnblogs.com/chace/p/4279890.html

其实我的方法是第二种的改进版

首先当然要下载最新的NDK啦,谭兄(袒胸)告诉我一个好网站:http://www.androiddevtools.cn。上面可以下载任何涉及到android开发的东西

解压

然后打开CMD,不要问我CMD怎么打开

鄙人的目录

然后将ndk-build拖入CMD便可

按回车

便看到以下结果

懂点英文就知道,没配置值

于是乎百度一下

You need to specify 3 things.
NDK_PROJECT_PATH - the location of your project
NDK_APPLICATION_MK - the path of the Application.mk file
APP_BUILD_SCRIPT - the path to the Android.mk file These are needed to override the default values of the build script, which expects things to be in the jni folder. When calling ndk-build use
ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk In Application.mk add
APP_BUILD_SCRIPT := /path/to/Android.mk

OK

编辑一下这两个变量

NDK_PROJECT_PATH=D:\Project\Java\FBReaderJ-2.5.9 NDK_APPLICATION_MK=D:\Project\Java\FBReaderJ-2.5.9\jni\Application.mk

NDK_PROJECT_PATH你的项目目录

NDK_APPLICATION_MK你的Application.mk目录

最后在后面加上这两个变量值,譬如我最终的命令行:

E:\BaiduYunDownload\ndk\ndk-build.cmd NDK_PROJECT_PATH=D:\Project\Java\FBReaderJ-2.5.9 NDK_APPLICATION_MK=D:\Project\Java\FBReaderJ-2.5.9\jni\Application.mk

注意空格

这里不需要配置任何的环境变量,然后按回车

然后,然后就没有然后了

依然常规动作,广告时间

 

  C#.NET开源项目、机器学习、足球赛事资料库

  开源Q群:302961959

  足球研究技术群:142780296

FBReaderJ 编译Jni的更多相关文章

  1. windows android studio 编译Jni动态库

    项目需要,折腾了半天搞定windows android studio环境编译Jni动态库,现记录下来. 准备安装环境: 1. android studio 下载地址是http://www.androi ...

  2. 【转】Android下编译jni库的二种方法(含示例)

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是:1)使用Android源码中的Make系统2)使用NDK(从N ...

  3. 【转】Android用NDK和整套源码下编译JNI的不同

    原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究 ...

  4. 【转】Android下编译jni库的二种方法(含示例) -- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是:1)使用Android源码中的Make系统2)使用NDK(从N ...

  5. 使用Android Studio自带的NDK编译JNI

    /********************************************************************************** * 使用Android Stud ...

  6. 在Android源码下编译jni所需要知道的事~

    以下只是自己的一些总结,欢迎讨论 通过NDK编译jni网上有很多例子,在这我只总结在Android源码下编译 1.android源码环境下编译so包,编出来的.so的包前面不会自动给添加lib,NDK ...

  7. NDK下编译JNI

    NDK环境下编译JNI 下载demo.tar.gz然后解压 弄个套路 1.编辑build.sh设置好NDK目录 2.把cpp文件放到code下面 运行sh build.sh即可

  8. 《jdk10》删除javah.exe文件,在Android studio编译jni,使用jdk10生成头文件

    今天在用“死丢丢”编译so包的时候,只要一输入"javah -jni..."的命令就会一直提示 'javah'不是内部命令或外部命令,也不是可运行的程序或批处理文件 找了很久才发现 ...

  9. 【转载】在windows下使用gcc编译jni的简单教程

    转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge ...

随机推荐

  1. CF GYM 100703M It's complicate

    题意:龙要做茶,需要n种原料,给出他有的原料个数,和每份茶需要的原料个数,和每种原料的价格,要求做整数份茶,把他之前有的原料用完最少要花多少钱. 解法:水题. 代码: #include<stdi ...

  2. FZU 2105-Digits Count(线段树延时标记)

    题意: 每次操作区间每个数进行一种(&或|.或^ )给定的一个数,到sum时统计给定区间的和. 分析: 这个题让我觉得我的思维很不活跃,对懒惰标记理解,还远远不够,通过这道题我对懒惰标记加深了 ...

  3. 每天学点linux命令--tail,cut,sort,uniq

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  4. java.lang.NoClassDefFoundError: javax/transaction/Synchronization (jUnit测试报错)

      测试hibernate   报错原因项目缺少包   在 hibernate 解压目录下找到 jta.jar 文件     往项目中添加该 jar 包,即可解决   添加方法:[右击项目]--> ...

  5. c#: 解析json, 转成xml, 简单方便

    没看到.net framework中有这样的功能, 懒得到处找了, 索性花点时间自己写一个 /* * Created by SharpDevelop. * Date: 2013/6/24 * User ...

  6. Java 时间转换问题总结

    这几天开发中遇到时间转换出错的问题,特总结如下:   ========================================================================= ...

  7. opencv 在工业中的应用:blob分析

    在工业中经常要检测一副图像中物体的数量,位置,大小,面积等信息,这就要用到BLOB分析,我用OPENCV做了个BLOB分析的DEMO. (1)打开一幅图像 (2)进行参数设置,设定二值化阙值,并选择是 ...

  8. jsp:forward与缓冲区

    jsp:forward的作用是在服务器端进行页面跳转.通常有<jsp:forward page="NewPage.jsp">语句的页面的在执行时会提前执行跳转,而不输出 ...

  9. highcharts图表的图例legend怎么改变显示位置

    一.将图例Legend放于图表右侧1.设置chart的marginRight属性值:chart: { marginRight: 120}2.设置legend图例属性值如下 legend: { alig ...

  10. Android实例-处理隐藏输入法后不再显示问题(XE8+小米2)

    结果: 1.可以处理再次显示问题,但缺点是每个控件都要处理一次,累.哪位大神有好的处理方法,请M我. 实例代码: unit Unit1; interface uses System.SysUtils, ...