android ndk 环境搭建FAQ

现在NDK 的使用开始越来越多了,有部分公司的面试要求里开始出现要会这个,所以自己也开始尝试着再次搭建这个环境,确实这个环境是比较麻烦的,但比起前几年简单了很夺多。主要是ADT开始有集成版本(虽然现在的趋势是studio,官网也开始不提供adt-bundle的下载了)但是还是这个用的比较顺手点。并且在ndk-r7后win跑ndk不需要cygin模拟环境了,简单了不少。


具体的环境搭建首先是搭建安卓环境,参考很多,我自己写的就可以:Android win Linux环境搭建

接下来的步骤主要就是去官网下载最新的ndk,然后在eclipse中把ndk的路径指到对应的解压路径。

可以参考以下几个博客:

http://jingyan.baidu.com/article/3ea51489e7a9bd52e61bbac7.html

http://jingyan.baidu.com/album/5d6edee22d908799eadeec9f.html

http://blog.csdn.net/houshunwei/article/details/17217695


本篇主要记录的是一些遇到的问题:问题答案是到处找到的,不一一注明了


1、我使用的adt-bundle-windows-x86_64-20140702 这个集成环境是没有ndk这个选项的。

解决:在eclipse的install new soft中安装对应的adt

更新adt:https://dl-ssl.google.com/android/eclipse/
本地更新的话去官网先下载好:ADT-23.0.4


然后:

选择菜单栏上的[Window->Perferences->Android->NDK]设置 NDK Loaction 为D:\Android\android-ndk-r10d;


2、看不到C/C++ Build选项

需要右键点击项目在Android Tools里面点击"Add NativeSupport"就会出现.


3、ndk c文件报错
(另外如果是报文件错误,是由于cdt默认是cpp格式  参照以下的方法也可以解决)
是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面。所以,参照以下步骤:
Project Properties -> C/C++ General -> Path and Symbols
选择include标签,Add -> $Android_NDK_HOME/platforms/android-14/arch-arm/usr/include

注意用这个相对路径有时不行改成:绝对路径
且选中All languages. (这个选项的位置在add的时候弹出的复选框)
最后Apply -> OK

还要不行的话关掉c/cpp的代码检查,因为编译是ndk工具在编不是eclipse在编是可以关掉的:

工程 -> properties -> c/c++ General -> code Analysis  - > use project settings  把不想要的沟掉


4、自动生成h文件

Java native interface 按照一套名字给java的函数命名。看HelloJni这个Demo也能看出一些门道,详细的参见规范文档。

说说使用javah自动生成.h文件

a) 保证javah 在环境变量内,这个脚本在jdk的安卓包内

b) 提示  错误: 找不到 'com.example.hellojni.HelloJni' 的类文件。或者找不到类文件。

使用如下命令即可

F:\android_workspace\HelloJni\bin>javah -d heafer -classpath F:\android\adt-bundle-windows-x86_64-20140702\sdk\platforms
\android-18\android.jar;classes -jni com.example.hellojni.HelloJni2

说明:切换到当前bin目录,下一级是classes 


其中的参数可以参考:http://www.cnblogs.com/icejoywoo/archive/2012/02/22/2363709.html




付带记录下这次遇到的另外两个问题:

faq:显示两个手机
1、运行  adb
 先 kill-server, 再 start-server。然后再 adb devices ,多半会列出设备来。
2、打开Eclipse 进行调试,看是否显示 提示选中设备。 如还是不行,在手机上 输入 :  *#*#717717#*#*, 
进行拨打,目前就是 Enable usb Port, 运行USB 端口打开之意。如果再次输入,就关闭了。


faq:看不到Android manager update
window -> Customize perspective 勾选上Android SDK and AVD Manager




你可能感兴趣的:(FAQ,NDK)