博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android之NDK搭建
阅读量:4024 次
发布时间:2019-05-24

本文共 4953 字,大约阅读时间需要 16 分钟。

首先介绍一下背景,NDK即Native Development Kit,来看官方的解释:

The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++.
简而言之就是,有了NDK就可以用C++来写代码啦!下面介绍配置手顺。

一、Windows配置手顺

1、安装配置JDK

(1)首先下载JDK的windows版
官网JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
公司服务器下载地址:\\10.167.129.95\Embedded-dev\4-工具共享\jdk-7u67-windows-x64.exe
(2)直接安装,比如安装到C:\Program Files\Java\jdk1.7.0_67
(3)我的电脑->属性->高级->环境变量
新建系统变量,变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_67 (JDK的安装目录)
新建系统变量,变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\tools.jar
(4)原有的系统变量 Path后面加上英文分号,添加%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;
(5)配置完毕后,打开命令行,运行以下命令:java -version,javac 如果出现返回信息,则设置成功。

2、安装ADT bundle

Google官网已经不提供ADT bundle,公司服务器上有
(1)下载ADT Bundle的windows版
Android官网下载ADT Bundle:http://developer.android.com/sdk/index.html
公司服务器下载地址:\\10.167.129.95\Embedded-dev\1-工作相关\2-公共资料\Android开发相关\Android SDK\windows\64bit\adt-bundle-windows-x86_64-20131030.zip
(2)直接右键解压
(3)配置环境变量
我的电脑->属性->高级->环境变量
新建系统变量,变量名:ANDROID_SDK_HOME 变量值:D:\Android\adt-bundle-windows-x86_64-20131030\sdk (sdk的解压目录)
原有的系统变量 Path后面加上英文分号,添加;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;
(4)配置完毕后,重启终端,运行命令adb, 如果出现返回信息,则设置成功。

3、配置Android NDK

(1)下载NDK的windows版
官网地址: http://developer.android.com/tools/sdk/ndk/index.html
公司服务器下载地址:\\10.167.129.95\Embedded-dev\1-工作相关\2-公共资料\FIP\android-ndk-r9b-windows-x86_64.zip
(2)解压到相应目录,比如D:\Android\android-ndk-r9b
(3)配置环境变量
我的电脑->属性->高级->环境变量
新建系统变量,变量名:NDK_ROOT 变量值:D:\Android\android-ndk-r9b (ndk的解压目录)
原有的系统变量 Path后面加上英文分号,添加;%NDK_ROOT%;
(4)配置完毕后,重启终端,执行ndk-build 如果返回如下,那配置就成功了
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
D:/Android/android-ndk-r9b/build/core/build-local.mk:130: *** Android NDK: Aborting . Stop.

4、配置Eclipse,使其自动编译JNI部分的代码

因为要通过编译JNI部分的代码来生成相应的库,而默认情况下,JNI部分的代码不会编译。
可以通过命令行进入工程目录,运行ndk-build来编译;
也可以通过以下配置,使其过程自动化。
新建并配置一个Builder:
(a)Project->Properties->Builders->New,新建一个Builder。
(b)在弹出的【Choose configuration type】对话框,选择【Program】,点击【OK】:
(c)在弹出的【Edit Configuration】对话框中,配置选项卡【Main】。
在“Name“中输入新builders的名称(我取名为Ndk_Builder)。
在“Location”中输入nkd-build.cmd的路径。
(我的是D:\Android\android-ndk-r9b\ndk-build.cmd,根据各自的ndk路径设置,也可以点击“Browser File System…”来选取这个路径)。
在“Working Diretcoty”中输入工程目录,
(比如我的是:D:\Android\android-ndk-r9b\samples\hello-jni,也可以点击“Browse Workspace”来选取工程目录)。

(d)【Edit Configuration】对话框中,配置选项卡【Refresh】。

勾选“Refresh resources upon completion”,
勾选“The entire workspace”,
勾选“Recuresively include sub-folders”。

(e)【Edit Configuration】对话框中,配置选项卡【Build options】。

勾选“After a “Clean””,
勾选“During manual builds”,
勾选“During auto builds”,
勾选“Specify working set of relevant resources”。

点击“Specify Resources…”

勾选hello-jni工程的“jni“目录,点击”finish“。点击“OK“,完成配置。
OK,到这里Eclipse就能够自动调用NDK编译jin目录下的C/C++代码了。

注:对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK;

从r7开始,Google的提供了一个ndk-build.cmd的脚本,可以直接用它编译,而不需要使用Cygwin了。

 

一、Ununtu配置手顺

1、下载配置JDK

(1)首先下载jdk的Linux版本
官网JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
公司服务器jdk下载地址:smb://10.167.129.95/Embedded-dev/1-工作相关/2-公共资料/Android开发相关/开发工具/JDK/jdk-6u29-linux-i586.bin
(2)打开终端,进入jdk所在的目录,比如我的目录为/home/kawai/Android,执行chmod a+x jdk-6u29-linux-i586.bin
(3)sudo ./ jdk-6u29-linux-i586.bin 解压,这时会生成一个目录jdk1.6.0_29
(4)配置环境变量,gedit ~/.bashrc,在文件的最后加上下面几句
export JAVA_HOME=/home/kawai/Android/jdk1.6.0_29
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
(5)在终端上执行下面的命令(将下面的/home/kawai/Android/jdk1.6.0_29替换为你的jdk目录)
sudo update-alternatives –install /usr/bin/java java /home/kawai/Android/jdk1.6.0_29/bin/java 300
sudo update-alternatives –install /usr/bin/javac javac /home/kawai/Android/jdk1.6.0_29/bin/javac 300
sudo update-alternatives –config java
(6)重启终端,运行java -version, javac来验证是否安装成功

2、安装ADT bundle

Google官网已经不提供ADT bundle,公司服务器上有
(1)下载ADT Bundle的linux版
公司服务器下载地址:smb://10.167.129.95/Embedded-dev/1-工作相关/4-项目资料/NW/installFile/adt-bundle-linux-x86_64-20130522.tar.gz
(注意这个是64位)
(2)解压:sudo tar zxvf adt-bundle-linux-x86_64-20130522.tar.gz
(3)配置环境变量:gedit ~/.bashrc,在文件的最后加上下面几句
export PATH=/home/kawai/Android/adt-bundle-linux-x86_64-20130522/sdk/platform-tools:$PATH
export PATH=/home/kawai/Android/adt-bundle-linux-x86_64-20130522/sdk/tools:$PATH

3.配置NDK

(1)下载NDK的linux版
官网地址: http://developer.android.com/tools/sdk/ndk/index.html
公司服务器下载地址:smb://10.167.129.95/Embedded-dev/1-工作相关/2-公共资料/Android开发相关/Android_NDK相关/安装文件/android-ndk-r7-linux-x86.tar.bz2.tar
(2)直接解压:右键Extract here
(3)配置环境变量:gedit ~/.bashrc,在文件的最后加上下面几句
NDKROOT=/home/kawai/Android/android-ndk-r7
export PATH=$NDKROOT:$PATH
(4)配置完毕后,重启终端,执行ndk-build 如果返回如下,那配置就成功了
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/home/kawai/Android/android-ndk-r7/build/core/build-local.mk:130: *** Android NDK: Aborting . Stop.

转载地址:http://cjvbi.baihongyu.com/

你可能感兴趣的文章
[Leetcode BY python ]190. Reverse Bits
查看>>
面试---刷牛客算法题
查看>>
Android下调用收发短信邮件等(转载)
查看>>
Android中电池信息(Battery information)的取得
查看>>
SVN客户端命令详解
查看>>
Android/Linux 内存监视
查看>>
Linux系统信息查看
查看>>
用find命令查找最近修改过的文件
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>
在android上运行native可执行程序
查看>>
Phone双模修改涉及文件列表
查看>>
android UI小知识点
查看>>
Android之TelephonyManager类的方法详解
查看>>
android raw读取超过1M文件的方法
查看>>
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>