最近要做一个电子书项目用到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. 【暑假】[深入动态规划]UVa 10618 Fixing the Great Wall

    UVa 10618 Fixing the Great Wall 题目:  http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=361 ...

  2. 在中国Windows Azure服务中创建应用程序的一些不同之处

    Azure 中的托管服务由一个应用程序(用于在托管服务中运行)和 XML 配置文件(定义托管服务的运行方式)组成.托管服务同时使用服务定义文件 (.csdef) 和配置文件 (.cscfg).有关详细 ...

  3. 题目1043:Day of Week(输入日期与当前日起天数差%7,在做相关星期调整)

    题目描述: We now use the Gregorian style of dating in Russia. The leap years are years with number divis ...

  4. iOS生命周期

    1.application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次.若用户直接启动,lauchOptions内无 ...

  5. 广州大学华软软件学院——NA视频下载

    准备工具: 360极速浏览器(不要认错图标了): 浏览器视频下载插件: 第一步:安装浏览器插件 1.打开浏览器 2.解压,找到插件文件: 3.把插件拖到浏览器中: 4.添加,然后就完成了插件安装 查看 ...

  6. Spring MVC整合logback日志框架实战

    1.引入依赖,本项目maven构建,普通项目导入想要的jar包即可 版本 <properties> <slf4j-api.version>1.7.7</slf4j-api ...

  7. JNI: Passing multiple parameters in the function signature for GetMethodID

    http://stackoverflow.com/questions/7940484/jni-passing-multiple-parameters-in-the-function-signature ...

  8. AndroidManifest笔记

    1.android:configChanges如果配置了这个值,比如"orientation",在屏幕旋转时会调用Activity的onConfigurationChanged,而 ...

  9. [OC Foundation框架 - 7] NSArray的创建与遍历

    NSArray是不可变的,不能先创建再添加元素 NSArray可以放入任何OC对象,但不能放入基本数据类型.结构体.枚举等非OC对象 不能存储nil   A.常用方法1 创建 返回用量 是否含有某元素 ...

  10. 【转】Javascript 面向对象编程(一):封装

    原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html Javascript ...