본문 바로가기
HACKING/mobile_Android

Program#1 NDK를 이용한 c언어 프로그램 build

by asdf12345 2020. 8. 30.

Window 환경에서 안드로이드에서 실행할 C 프로그램build하고 싶으신가요?

Do you want to build c application with NDK on Window to run it on Android?

레고레고

Let's make it happen~!

 

[ Program#1 NDK Build ]

Table of contents

#0 Download NDK 

#1 Declaration for the build system

#2 Build

#3 Check Running binary file

 

 

 

 

#0 Download NDK 

 

NDK PACKAGE DOWNLOAD & UNZIP 

https://developer.android.com/ndk/downloads

 

 

#1 Declaredeclaration for the build system

jni 폴더 생성 후, 하위에 소스코드와 빌드 시스템에 소스코드와 빌드 조건을 명시해주는 파일을 생성합니다.

Write applicaiton C sourcecode & Android.mk to declare sourcecode to build system & Application.mk to declare configuration to build system in jni folder.

 

hello.c

#include <stdio.h>
int main()
{
    printf("hello ARM64 android!\n");
    return 0;
}

Android.mk

LOCAL_PATH := $(call my-dir) #현 프로젝트 폴더를 지정
include $(CLEAR_VARS) #현 프로젝트 빌드에 맞게 변수를 지정하기위해 기존에 설정된 LOCAL_MODULE, LOCAL_SRC_FILES 및 LOCAL_STATIC_LIBRARIES 변수를 제거

LOCAL_MODULE := hello #빌드하고자 하는 모듈 이름 지정
LOCAL_SRC_FILES := hello.c #빌드하고자 하는 소스코드명 지정

include $(BUILD_EXECUTABLE) #실행파일 빌드

Application.mk

APP_ABI := arm64-v8a #Android CPU 버전 지정

 

 

#2 Build

빌드를 위해, cmd를 실행한 후, jni 상위 경로에서 "ndk-build" command를 입력한다.

To build, after running cmd program, input "ndk-build" command with above "jni" folder path

 

 

#3 Check Running binary file

참 쉽죠잉?

 


Reference

https://source.android.com/setup/build/building-kernels-deprecated
https://www.hackerschool.org/Sub_Html/HS_Posting/index.html?uid=34