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

本文详细记录了在Windows10环境下配置Android NDK r21e的过程,包括下载、解压、配置环境变量,并通过编写、编译C程序验证配置。此外,还介绍了如何将编译后的可执行文件推送到Android手机并执行。这是一个适合初学者的NDK入门教程,为后续的Android逆向工程学习打下基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文记录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推送到手机的/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、附件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值