eclipse环境NDK问题汇总

1. 配置NDK路径设置

可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home<你的用户名>.bash_profile 文件中最后添加环境变量

NDK=/cygdrive/e/Andriod/develop/android-ndk-r4

export PATH=$PATH:$NDK

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

重启cygwin,输入:

cd $NDK

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

2. JNI编译环境配置

工程右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd

在C/C++ Build中点击Environment,点Add...添加环境变量NDKROOT,值为NDK的根目录 E:androiddevelopandroid-ndk-r10d

3. 出现的提示信息如下:

Multiple markers at this line
  - Syntax error
  - Type 'JNIEnv' could not be resolved
  - Type 'JNICALL' could not be resolved

是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面。所以,参照以下步骤:
Project Properties -> C/C++ General -> Path and Symbols
选择include标签,Add -> E:android_swandroid-ndk-r10dplatformsandroid-19arch-armusrinclude
且选中All languages.最后Apply -> OK 这样错误就解决了。

4. 报错:Program "sh" not found in PATH

 C:cygwin64in目录添加到win7系统的path环境变量中。

5. Android NDK: Your Android application project path contains spaces: 'E:/ ./ (x86)/' 

Android NDK: The Android NDK build cannot work here. Please move your project to a different location.
E:androidandroid-ndk-r10duild/core/build-local.mk:155: *** Android NDK: Aborting. . Stop.

新建并配置一个Builder
 (1)点击Project->Properties->Builders->New,新建立一个Builder。在弹出的对话框上面点击Program,OK!如图四所示:

      
 

                                                     (图四)
(2)在弹出的对话框【Edit Configuration】中,配置选项卡【Main】:
      Location中需要填入nkd-build.cmd的路径(NDK安装目录下)。
      Working Diretcoty中需要填入TestNDK的工程根目录。
       如图五所示:

      

                                    (图五)
(3)配置选项卡【Refresh】,如图六所示:
      勾选“Refresh resources upon completion”,
      勾选“The entire workspace”,
      勾选“Recuresively include sub-folders”。

    

                                      (图六)
(4)配置选项卡【Build Options】,如图七所示:
      勾选“After a “Clean””,
      勾选“During manual builds”,
      勾选“During auto builds”,
      勾选“Specify working set of relevant resources”。
      点击“Specify Resources…”勾选TestNDK工程的“jni“目录 ,Finish!

      保存设置,OK!

      

                                     (图七)

(5)Project->clean->选择工程->点击OK。当在console里面看到如图八所示的信息,则表示一切正常,此时就已经是自动编译代码了。

        

 6. 自己测试的 eclipse ndk 工程设置,该工程还作为library,被其他工程调用

设置完之后,选择eclipse的Project->clean...,则先clean工程,再运行该Builder,调用ndk-build.cmd编译jni代码。

详细的设置如下图所示:

别的工程引用该library,开发时需要查看该library的源码,只要将该library源码和该工程进行关联即可。如下所示:

原文地址:https://www.cnblogs.com/wi100sh/p/4330969.html