比起使用JDK和NDK,直接开发本地代码会更加爽,因为你可以完全掌控机器!
首先你要有一个交叉编译器,找了好多,有的说是用cygwin的,有的是在linux下的,但是都不方便,找了一个
http://www.codesourcery.com/sgpp/lite/arm/portal/release1600
选择windows的,直接下载安装,就是一个交叉编译器了
编译的时候要注意
arm-none-linux-gnueabi-gcc -static hello.c -o hello
一定要加 -static
不然没法运行的
编译好之后,用ADB push到手机里,然后就可以在电脑上调用adb shell 执行了。
郁闷的是,使用手机上的终端却无法执行,不知道是为什么。看到一个文章和我的一样
http://www.lostleon.com/blog/2010/06/how-to-build-cross-compile-environment-of-android/
搞不明白。
还有那个ADB驱动,不知道是我手机问题还是什么问题,只要手机是开机状态驱动就没法安装,也没法调试。
无语。
使用TCP/IP也不行,网上说可以的,看这个
http://blog.chinaunix.net/u3/97568/showart_2419980.html
可是我就是弄不起来,总是无法绑定到端口。郁闷。
只有在download一个恢复模式的镜像的情况下才能在主机上使用ADB与手机连接,这样一点意义没有,我push到手机上的东西又看不到效果。只能用ADB看。
可是当我使用模拟器的时候,ADB是可以在模拟器正常运行的状态下连接的,还能执行命令,奇怪了。估计是我的手机ROM的问题。
但是,我把这个加载到模拟器里运行,交叉编译的程序又不能运行了,彻底迷糊了。