NDK编写Android终端helloworld

在windows下面编译使用NDK,不是一个容易的事情,但是在ndk-r8后,似乎方便了很多。具体方法如下:

从事眉山服务器托管,服务器租用,云主机,网页空间,申请域名,CDN,网络代维等服务。

1. 下载安装android ndk,解压到一个目录,***是比较简单的英文路径,防止各种坑。然后将ndk加入到路径中。比如

set path=%paht%;H:\gp\Android\android-ndk-r9

set path=%path%;H:\gp\Android\android-studio\sdk\platform-tools

这两句话就是把ndk-build和adb命令加入到cmd的命令环境中,方便后面的使用。如果常用,建议加入到环境变量path中

2. 编写相关代码

注意,需要在项目目录下面建立一个jni目录,在jni目录下建立文件。

target.c

 
 
  1. #include  
  2. int flag = 1; 
  3. int count = 0; 
  4. int main() 
  5. char* str = "abcdef"; 
  6. while(flag) 
  7. printf("Target is running:%d\n", count); 
  8. count++; 
  9. sleep(3); 
  10. return 0; 

Android.mk

 
 
  1. LOCAL_PATH := $(call my-dir) 
  2.  
  3. include $(CLEAR_VARS) 
  4. LOCAL_MODULE := target 
  5. LOCAL_SRC_FILES := target.c 
  6. include $(BUILD_EXECUTABLE) 

代码很简单,就是一个循环打印语句。值得注意的是Android.mk,根据需要修改LOCAL_XXX的名字就可以了,如果有多个文件,添加到SRC_FILES后面就可以了

 

在jni目录运行命令

ndk-build

 
 
  1. "Compile thumb : target <= target.c 
  2. Executable : target 
  3. Install : target => libs/armeabi/target 

 

会在项目目录的libs/armeabi目录下面生产目标代码

下面的操作方法是将target上传到调试机器上,我一般使用机器,因为模拟器太慢了,折磨人。你的机器需要设置为usb development,并且需要有root权限,否则,只能在模拟器中测试。

adb remount

adb push target /data/local/tmp

adb shell

su

cd /data/local/tmp

chmod 751 target

./target

 
 
  1. root@android:/data/local/tmp # ./target 
  2. ./target 
  3. Target is running:0 
  4. Target is running:1 
  5. Target is running:2 
  6. Target is running:3 
  7. Target is running:4 
  8. Target is running:5 

需要注意的地方是android下面busybox的chmod u+x target不能工作,只能用751这种数字方式来设置程序的可运行。

 

希望你好运,能够运行一个helloword的ndk程序

网站名称:NDK编写Android终端helloworld
分享路径:http://www.shufengxianlan.com/qtweb/news33/206333.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联