最近要做一个电子书项目用到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. 如何在网页中显示pdf

    用如下的html代码即可(例子): <div class="postBody"> <div id="cnblogs_post_body"> ...

  2. mina2

      远程通信 Mina2 学习笔记 作者:李少华 邮箱:xiaosanshaoli@126.com QQ:305409913 2010-12-23   初稿 引言... 1 一.       Mina ...

  3. java.lang.ExceptionInInitializerError的原因(转)

    这个错误是说变量初始化出现问题,通常出现在静态变量尤其是单例模式.这种问题往往是初始化顺序不对造成的,下面举个简单的例子. import java.util.HashMap; import java. ...

  4. flash player 版本对照

  5. python中__dict__和dir()

    转自:http://www.cnblogs.com/ifantastic/p/3768415.html 首先需要知道的是,dir() 是 Python 提供的一个 API 函数,dir() 函数会自动 ...

  6. Magento 前台的logo更改

    进入后台: 系统-配置, 然后选择左栏的“设计”, 选择右栏的“页眉”里面, 一般logo的路径在: skin/frontend/base/default/images/media/logo.png ...

  7. [OC Foundation框架 - 14] NSNull

    在NSDictionary中,nil代表结束,允许存入 使用NSNull代替   int main(int argc, const char * argv[]) { @autoreleasepool ...

  8. 转载Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?

    Entity Framework 4.1 DbContext使用记之一——如何查找实体? DbSet.Find函数的使用与实现 Entity Framework 4.1 DbContext使用记之二— ...

  9. 5A的肖特基二极管 SK5x / SK5xx

    5A的肖特基 管压降经实测2A/0.3V, SK5x 和SK5xx别在于前者是四位命名,后者是一个五位命名带B, 封装不一样,参数基本一致.不细看手册容易用错了. 四位命名:封装为SMC (DO-21 ...

  10. ISE和Modelsim联合仿真(转)

    相信很多人会遇到过这个问题,不知如何让ISE调用Modelsim进行仿真.我也迷糊了不少时间,查查找找,终于弄明白了,所以有了本文,和大家分享一下.我尽量讲得详细点儿,多多上图. 我的环境:Windo ...