>>520
ごめんね
おかしなこと逝ってるのがいるので

Javaは最初期からJava Native Interface(JNI)という仕組みでWrapperを使ってCからJavaのコードを
呼び出したりJavaからCのコードを呼び出すことができるようになっている

Android 2.2まででもだいたいのことはCから直接利用できたんだけど、Activity関連(Androidは
原則全画面表示だからWindowではなくActivityと呼ぶ)はJavaで実装されていたので、JNI経由で
Javaのコードを呼び出す以外NDKではGUIを構築できなかった

2.3からActivityを含めAndroidのすべての機能を直接Cから呼べるようになって、さらに低レイテンシの
オーディオAPIもNDK専用で実装された(ただしハードウェアとの兼ね合いでちゃんと使えるか今でも
あやしいし、APIも途中で別なものに置換えられている)

ちなみにC++から直接Activityを表示するNative Activityのサンプルはこんな感じ
ttps://github.com/android/ndk-samples/blob/main/native-activity/app/src/main/cpp/main.cpp

gtk+やQtやMFC等を使わないXlibやWin32APIのプログラミングと同じで面倒くさい