NDK学习4: Eclipse HelloWorld

时间:2023-03-08 16:25:47

NDK学习4: Eclipse HelloWorld

1.配置Eclipse NDK环境 

Window->preferences->android->ndk

NDK学习4: Eclipse HelloWorld

 

2.新建Android工程

在工程目录上点右键->Android Tools-> add native support

这个时候工程会多出一个jni目录

 

3.编辑Hello.cpp

#include <stdio.h>

int main(int argc, char* argv[])

{

  printf("Hello Android!\r\n");

  return 0;

}  

 

4.设置编译属性为可执行

NDK学习4: Eclipse HelloWorld

 

5.编译build all

编译完后,代码不报错了,语法高亮和智能提示也出来了

同时Eclipse会在paths and symbols自动加上这些路径

NDK学习4: Eclipse HelloWorld

如上步骤
正确完成
没有自动加的,不高亮的
报错的
可能的问题是:

Eclipse程序目录带有空格(天坑  我在这里被坑了好久  有木有)

 

编译完后会在:

libs目录下生成对应平台架构的可执行文件

NDK学习4: Eclipse HelloWorld

 

 

6.运行

连接adb 

新建一个makefile  也可以使用其他脚本文件

 

脚本流程:

adb push  将文件压入

adb shell chmod 添加可执行权限

adb shell 执行

运行后发现报错,这个问题是平台不对

NDK学习4: Eclipse HelloWorld

 

7.解决平台abi问题

在配置文件中指明生成的abi

NDK学习4: Eclipse HelloWorld

 

新建一个Application.mk,输入如下信息

APP_ABI := armeabi-v7a

APP_PLATFORM := android-14  

 

那么问题来了ABI在哪里看呢?在AVD Manager即可查看目标版本的ABI

NDK学习4: Eclipse HelloWorld

 

重新编译即可生成

NDK学习4: Eclipse HelloWorld

 

此时修改我们的make file脚本:

MODALE_NAME := Hello

all:

    adb push .\libs\armeabi-v7a\$(MODALE_NAME) /data/local/tmp

    adb shell chmod 755 /data/local/tmp/$(MODALE_NAME)

    adb shell /data/local/tmp/$(MODALE_NAME)  

 

即可成功运行:

NDK学习4: Eclipse HelloWorld