【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(二)

这是编译 NDK 项目的通用 Makefile 配置 : 使用前只需要修改 NDK 和 NDK_ROOT 中的自己的 NDK 即可 ;


NDK = D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b/ndk-build.cmd
NDK_ROOT = D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b
MAKE = "$(NDK_ROOT)/prebuilt/windows-x86_64/bin/make.exe"
BUILD_SCRIPT = "$(NDK_ROOT)/build/core/build-local.mk"
PROJ_PATH = NDK_PROJECT_PATH=.
APP_SCRIPT = APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
BUILD_COMMAND = $(NDK) NDK_PROJECT_PATH=. $(APP_SCRIPT)
# D:/001_Develop/001_SDK/Sdk/ndk/android-ndk-r14b/ndk-build.cmd NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
.PHONY:all
all:
    $(NDK) $(PROJ_PATH) $(APP_SCRIPT)
    @echo done!
clean:
    $(NDK) $(PROJ_PATH) $(APP_SCRIPT) clean
    @echo done!
rebuild:
    $(NDK) $(PROJ_PATH) $(APP_SCRIPT) -B
    @echo done!






三、配置 Android.mk


Android.mk :


LOCAL_PATH    := $(call my-dir)
include     $(CLEAR_VARS)
# 链接 log 日志库
LOCAL_LDLIBS    += -llog 
# 编译可执行程序名称
LOCAL_MODULE    := hello
# 指定源码
LOCAL_SRC_FILES     := main.c
# 指定输出目录
# NDK_APP_DST_DIR   := ../Debug/$(TARGET_ARCH_ABI)
# 编译可执行程序
include     $(BUILD_EXECUTABLE)






四、配置 Application.mk


Application.mk :


# 指定要编译的 CPUU 架构
APP_ABI     := armeabi armeabi-v7a x86
# 指定用于此应用的 C++ 标准库
APP_STL     := gnustl_static
# 指定编译的 Android 平台 , 一般是 Android 兼容的最低版本 
APP_PLATFORM    := android-19






五、主函数源码


main.c 源码 :


#include <stdio.h>  
int main(int argc, char** argv) {
    printf("Hello World");
    return 0;
}





六、编译 NDK 项目


右键点击 " 解决方案资源管理器 " , 在弹出的菜单中 , 选择 " 仅用于项目(J) -> 仅生成 VS_NDK_Makefile(B) " 选项 ;

【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(二)



编译结果 :


【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(二)



上一篇:Centos 5.6 Memcached的安装和配置


下一篇:技术解读|完整揭秘通信领域顶会SIGCOMM 20’论文 阿里云网络洛神VTrace系统