转载地址:http://blog.csdn.net/lmdyyh/article/details/18238819
今天跟实验室师兄聊天,得知通过NDK可以用C++给Android开发应用程序,于是下载了adt-bundle-linux-x86-20131030.zip和android-ndk-r9c-linux-x86.tar.bz2的最小版本,两个压缩包直接解压就可以了,JDK我是以前安装的1.7版本的。
从网上搜索了一下NDK的入门程序,自己跟着步骤一点点做下去,顺利编译处理.class文件,但是在生成.h文件时出现了问题,执行
javah -classpath bin/classes -d jni com.example.hellojni.HelloJni,出现”找不到Android.app.Activity的类文件“的错误,于是到stackoverflow上搜了一下,里面也有人出现了同样的问题,其中一个给出的答案如下:
没有通过,估计source后没事没有把ANDROID_JAR添加到环境变量中。于是重新启动,这次执行成功,然后继续进行下个步骤!
一直进行到新建一个启动模拟器都没有什么问题,但是启动模拟器的时候就会出现问题,首先在console上会出现
Waiting for HOME ('android.process.acore') to be launched...
然后就停止不动了,模拟器也没有任何反映,如何搜索该怎么办,有的人给出的答案是又击project,然后重新点击Run as,也有人说点击Project->Clean,反正我照做了都没有解决问题,没办法之下,于是我就不做任何处理,既然说在等待HOME被加载,那就让他等吧,大约5分钟左右后,模拟器果然就在console上显示
[2014-01-14 13:33:51 - HelloJni] Waiting for HOME ('android.process.acore') to be launched...
[2014-01-14 13:38:46 - HelloJni] HOME is up on device 'emulator-5554'
[2014-01-14 13:38:46 - HelloJni] Uploading HelloJni.apk onto device 'emulator-5554'
[2014-01-14 13:38:48 - HelloJni] Installing HelloJni.apk...
[2014-01-14 13:40:48 - HelloJni] Success!
[2014-01-14 13:40:49 - HelloJni] Starting activity com.example.hellojni.HelloJni on device emulator-5554
不仅加载了HOME,而且程序都已经安装到模拟器了,将模拟器解锁后,在应用程序中找一下,会看到HelloJni程序,运行就会输出相应的字符串了.
补充:javah命令行详解:http://blog.csdn.net/l_215851356/article/details/65627942