안드로이드에서 JNI를 사용하여 C 언어로 루프를 실행하고 이를 APK로 빌드하기 위해 NDK를 사용하는 방법은 다음과 같습니다:

1단계: 안드로이드 프로젝트 설정

2단계: JNI 파일 생성

c#include <jni.h>
#include <string.h>

JNIEXPORT jstring JNICALL
Java_com_example_yourapp_MainActivity_stringFromJNI(JNIEnv *env, jobject thiz) {
    char result[100];
    strcpy(result, "Loop Results:\\n");
    for (int i = 0; i < 5; i++) {
        char buffer[20];
        sprintf(buffer, "Count: %d\\n", i);
        strcat(result, buffer);
    }
    return (*env)->NewStringUTF(env, result);
}

3단계: 빌드 구성 파일 생성

makefileLOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := native-lib
LOCAL_SRC_FILES := native-lib.c

include $(BUILD_SHARED_LIBRARY)
makefileAPP_ABI := all
APP_PLATFORM := android-16

4단계: Gradle 파일 수정

groovyexternalNativeBuild {
    ndkBuild {
        path 'src/main/jni/Android.mk'
    }
}

5단계: Java에서 네이티브 라이브러리 로드

javapackage com.example.yourapp;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    static {
        System.loadLibrary("native-lib");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView tv = findViewById(R.id.sample_text);
        tv.setText(stringFromJNI());
    }

    public native String stringFromJNI();
}