Java教程

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

本文主要是介绍【安卓开发快速入门】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

解压:

0.2 配置NDK环境变量

新增NDK_HOME

在Path新增%NDK_HOME%

 

0.3 验证配置

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

 

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,回车,得到可执行文件

 ​

 

2.2拷贝可执行文件到手机

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

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

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

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

 使用命令

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

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

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

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

 

5、总结

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

6、附件

 

 

 

这篇关于【安卓开发快速入门】NDK环境配置编译简单程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!