【安卓开发快速入门】NDK环境配置编译简单程序

本文记录NDK环境配置及编译简单程序。本人水平有限,若您发现有错误之处,恳请指正。Boygirl

 

0、准备工作

电脑:   Window10

手机:   AndroidPhone Redmi note 4x 7.0 root

环境:   Java 1.8.0_121、ndk-r21e

0.1 下载解压NDK

因为内网无法从AS中安装NDK,于是从官网下载NDK,解压和配置环境变量。

从官网下载android-ndk-r21e-windows-x86_64.zip

解压:

【安卓开发快速入门】NDK环境配置编译简单程序

0.2 配置NDK环境变量

新增NDK_HOME

【安卓开发快速入门】NDK环境配置编译简单程序

在Path新增%NDK_HOME%

【安卓开发快速入门】NDK环境配置编译简单程序 

0.3 验证配置

Win+R,输入cmd回车打开cmd窗口,输入ndk-build,回车,出现以下内容及说明配置正确

【安卓开发快速入门】NDK环境配置编译简单程序

 

1、编写程序

新建jni文件夹,绝对路径不要出现中文。

1.1 编写c程序

进入jni文件夹,新建文件ndkAA.c,使用notepad++打开

输入以下内容,并保存:

#include <stdio.h>

int main(){

printf("helloWorld,NDK");

return 0;

}

1.2 编写Android.mk

在jni文件夹中,新建Android.mk文件,使用notepad++打开

输入以下内容,并保存:

LOCAL_PATH:=$(call my-dir)

include$(CLEAR_VARS)

LOCAL_ARM_MODE := arm

LOCAL_MODULE := ndkAA

LOCAL_SRC_FILES := ndkAA.c

include $(BUILD_EXECUTABLE)

1.3 编写Application.mk

在jni文件夹中,新建Application.mk文件,使用notepad++打开

输入以下内容,并保存:

APP_ABI := x86 armeabi-v7a

2、编译程序

2.1 编译

使用cmd进入jni文件夹,敲入ndk-build,回车,得到可执行文件

 ​【安卓开发快速入门】NDK环境配置编译简单程序

 

2.2拷贝可执行文件到手机

在jni文件夹的同级目录下,生成了libs、obj文件夹。

【安卓开发快速入门】NDK环境配置编译简单程序

进入libs\armeabi-v7a,拷贝全路径

E:\************\Android\AReverse\code\04.NDK\libs\armeabi-v7a

将root手机连接到电脑,开启usb调试模式。新开cmd窗口,输入adb devices,出现如下图说明成功连接手机

【安卓开发快速入门】NDK环境配置编译简单程序 使用命令

cd E:\************\Android\AReverse\code\04.NDK\libs\armeabi-v7a,进入到ndkAA可执行文件的目录

使用命令adb push ndkAA /data/local/tmp ndkAA将该ndkAA推送到手机的/data/local/tmp目录 

2.3 运行可执行文件

新开cmd窗口,使用adb shell命令进入手机的根目录,使用su切换到root用户,切换到文件夹cd /data/local/tmp

【安卓开发快速入门】NDK环境配置编译简单程序

使用ls -l查看该文件的权限

【安卓开发快速入门】NDK环境配置编译简单程序

使用chmod 777 ndkAA赋予所有权限。

【安卓开发快速入门】NDK环境配置编译简单程序

使用./ndkAA运行该程序,成功执行该程序,输出helloWorld,NDK。

 

5、总结

本博文记录了安装NDK、配置NDK、编写编译运行可执行文件的过程,为后边学习逆向打基础。

6、附件

 

 

 

上一篇:最新Android面试题整理,看这一篇就够了!


下一篇:NDK错(二)