惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

博客园 - 和尚释然

AsyncTask原理 Android 模拟器截图 [原创]Android NDK开发之HelloWorld 附源码 [原创]深入了解Activity生命周期 附源码 [原创]关于Android Service的示例编程 附源码 [原创]Android Camera 开发之实现一 附源码 [原创]Android Camera 开发之前言 [原创]在Eclipse中手工安装SVN Plugin Android开发环境搭建四:新建一台Android Virtual Device Android开发环境搭建三:在Eclipse配置Android SDK Android开发环境搭建二:安装ADT[新版本ADT15.0] Android开发环境搭建一:安装Android JDK Java开发环境配置图解 用Reflector反编译 Mobile Winform程序 Mobile WiFi的开启和关闭代码实现 VS2005/VS2008英文版应用程序无法显示中文字符 深入讲解main()返回值研究 用VisualStudio2008汇编代码 发布MFC ActiveX控件并实现自动更新
Android NDK开发之环境搭建
和尚释然 · 2012-07-04 · via 博客园 - 和尚释然

Android NDK开发之环境搭建


一、下载Android NDK

您可以下载NDK r8 for Windows或NDK r8 for Windows安装包,下载地址:http://developer.android.com/sdk/ndk/index.html

下载后解压到你喜欢的路径,例如笔者的路径: D:\Develope\Android\android-ndk-r8

Android NDK包含build,docs,platforms,prebuilt,samples,sources,tests,toolchains,GNUmakefile,ndk-build,ndk-gdb及readme等内容.samples下面包含几个实例开发演示项目,第一次接触NDK开发,建议先从示例开始。下面先看一下编译环境配置。

二、下载Cygwin

由于NDK开发都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境。下载地址:http://www.cygwin.com/

下载后是个setup.exe文件,使用过程如下:

第一步:运行setup程序,第一步图略,直接点击Next进入下一步。

第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。


第三步:选择安装目录,比如C:\Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。

 

第四步:设置本地包暂存路径

暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式。

 

第五步:设置网络连接方式

 

第六步:选择下载站点地址

起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。

 

注意:

选择下载路径可以先打开官方网址的镜像地址:http://cygwin.com/mirrors.html查看各个区域的镜像地址.

 第七步:等待加载安装项载入,选择安装项

我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。


第八步:等待下载完成

下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。

提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。

三、验证Cygwin环境

安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:make -vgcc -v.如果检测成功,会有make和gcc相关版本信息打印出来,如下图。

 

四、配置NDK路径设置

在Cygwin安装目录下你会发现有一个home目录,如果你是Administrator用户登录就会在home目录下创建一个Administrator目录.如果是其他用户则会创建其他用户目录名.

在D:\cygwin\home\Administrator目录下找到".bash_profile"文件,使用文本编辑器编辑它.

NDKROOT=/cygdrive/d/Develope/Andriod/android-ndk-r8

export NDKROOT

其中NDKROOT=/cygdrive/<你的盘符>/<android ndk 目录> ,"NDKROOT"这个名字随便起,以后经常用不要太长。

重启cygwin,输入:cd $NDKROOT

可进入ndk对应目录说明设置OK。

五、编译演示工程

现在就可以编译相关NDK工程了(一些用c/c++写的程序),编译方法如下:

1、在cygwin命令行下,进入android项目工作目录:

cd $NDKROOT

2、依次进入samples\hello-jni目录,(完整路径示例: D:\Devlope\Andriod\android-ndk-r8\samples\hello-jni)

3、运行$NDKROOT/ndk-build

注意:该命令$NDKROOT和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$NDKROOT/ndk-build,不要只打ndk-build。

4、正常编译完成后会在你的项目libs/armeabi目录下生成对应的 .so文件。

六、导入静态目标库到Android项目

1. Eclipse中新建一个工程HelloJni.在Eclipse中通过"Create project from existing source"方法建立起Hello-jni项目.

2. 选择Android版本.

3. 保持默认配置.点击Finish完成.

4. 运行代码.

后续您可以试着修改库源程序或项目JAVA程序来熟悉NDK整个开发过程。

以上如有不对的地方欢迎指正,谢谢!

参考:

http://www.cnblogs.com/ouling/archive/2011/12/28/2305030.html

http://www.metsky.com/archives/525.html