windows停Android NDK环境搭建

windows下Android NDK环境搭建近来得空倒腾了一下NDK,下面把配置的经验分享与一下先做一下准备工作吧:%AND

windows下Android NDK环境搭建



近来得空倒腾了一下NDK,下面把配置的经验分享与一下

先做一下准备工作吧:


%ANDROID_NDK%加入到Path中,在cygwin(重启cygwin)中输入ndk-build,检查是否有错误。

这个根据你的eclipse的版本而定,总之是有个和你eclipse版本对应的选项,选择之后,在选择区域会有这么一个选项windows停Android NDK环境搭建展开,安装如下的选项
windows停Android NDK环境搭建

6. 上面的安装完了,还要继续安装,直接上图了
?
windows停Android NDK环境搭建
?
windows停Android NDK环境搭建

这个主要是为了增加Add Native Support的选项,如果不安装,可以将项目Convert to C/C++ project(这个具体怎么叫不记得了,网上是有相关的方法的),个人喜欢前者
?然后到Preferences中配置一下NDK的路径
?


windows停Android NDK环境搭建

?大体的准备工作就是这些,然后新建android项目,平时建立Android项目的步骤一样,


我建的项目名称为atpmonkeyJNITest

在activity中加入以下代码


public class AtpmonkeyJNITestActivity extends Activity {    /** Called when the activity is first created. */static    {              System.loadLibrary("atpmonkeyJNITest");    } public native String sayHelloToAtpmonkey(); private TextView test;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                test = (TextView)findViewById(R.id.test);        test.setText(sayHelloToAtpmonkey());    }}


?右击项目,找到Android Tools选择Add Native Support(若选择Convert *****,这一步就不用了)


windows停Android NDK环境搭建
?保持默认,点击finish,当然也可以改,但要注意库名与System.loadLibrary("atpmonkeyJNITest")中的一致性,这时候项目里就多出了如下这些东东

windows停Android NDK环境搭建

libs在未ianyi之前是空的


现在打开那个.cpp文件,如果不出意外的话应该是这样的


windows停Android NDK环境搭建

?


暂时先不管他,先把变异环境配一下吧

右击项目选择Properties



windows停Android NDK环境搭建

?目前我的C/C++Build是这样的,先不管他(后边会报错)

先暂时把此处作为一个分水岭吧,因为下面介绍的方法一有些不是必须的,甚至有些画蛇添足,但是也是网上提供的一种方法,多看无弊,如果不想看,就直接跳到方法二,无大碍

方法一:

?选择Builders,点击new,出现如图窗口,选择Program,按下图配置


windows停Android NDK环境搭建


名字随便取啊,别重复了就行,再者就是注意Aruments里的那个$NDK,他是你在cygwin配置文件中取的名字


windows停Android NDK环境搭建


windows停Android NDK环境搭建

?当你全选完后,会提示错误,点击Specify Resources,选择你的项目
点击OK后,将新建的UP到最上面去,然后继续OK(还有配置要改,暂且放过,坐等错误出现),这是console应该有动作了


windows停Android NDK环境搭建
?现在到那个cpp文件中加些代码吧,添加的代码命名是有讲究的,查看一下文档,或google一下,很多文章对此讲的很清楚

针对本测试项目,添加的代码如下


#include <string.h>#include <jni.h>extern "C"{    jstring Java_com_atpmonkey_polaris_test_AtpmonkeyJNITestActivity_sayHelloToAtpmonkey( JNIEnv* env,jobject thiz );}jstringjstring Java_com_atpmonkey_polaris_test_AtpmonkeyJNITestActivity_sayHelloToAtpmonkey( JNIEnv* env,jobject thiz ){    return env->NewStringUTF("Hello Atpmonkey,you have a good job!");}

?
windows停Android NDK环境搭建
?正如你所见,红线很多啊,下面就然我们去掉这红线

Properties->c/c++ General/Paths andSymbols->includes
GNU C 添加/home/gavin/android-ndk-r7b/platforms/android-14/arch-arm/usr/include(此处?NDK的目录是你自己的)

GNU c++?也一样


windows停Android NDK环境搭建

OK,等building完成,红线没了


windows停Android NDK环境搭建
?让我们先试着跑一下,不出所料,正像前边说过的:报错了


windows停Android NDK环境搭建
?我们回头再配一下C/C++ builder,配成了现在这个样子(可以和以前的对比一下),特别提醒一下,有事Build commend里会是ndk-build,在windows下这样貌似是不行的,一定要加上.cmd


windows停Android NDK环境搭建

下面再Build Configurations->Build All,如果你不是太背的话,现在编译的错误应该是统统没了。然我们run一下,看来我的运气不错


windows停Android NDK环境搭建


如果编译错误没了,只是运行android时的错误,那就要仔细检查一下代码了

?

方法二:

方法二就简单了很多,可以说是把方法一种新建CPPCOM那一步去掉,native support后直接跳到改C/C++ Builder这一步,若CPP文件有错,配置一下就可以了,是不是很方便,不过用这种方法我遇到了两次幺蛾子,所以平时可以选择这种方法,遇到幺蛾子时,可以选择上面的方法试试(搞开发,遇到幺蛾子的,你懂的)。

?

总结:

如果遇到了什么编译的问题,回头再把环境配一下,遇到幺蛾子,各种尝试无果,果断关eclipse,还有个建议,NDK,还是选择Linux平台靠谱些,windows,一个词-“蛋疼”。ITeye这个编辑器编辑区域有点小,,所以排版有点乱,编辑起来很不舒服。若搭建的过程中出现问题,欢迎跟帖!