Что вам, вероятно, следует сделать, это установить SDK и NDK и собрать пример hello-jni ndk.
Затем посмотрите, как получить доступ к выводу android logcat из C, и напишите себе симпатичную для этого оболочку, похожую на printf (вероятно, с использованием версии vargs базовой функции), чтобы вы могли легко генерировать выходные данные отладки из собственного кода .
Затем вживите свой собственный исполняемый файл в пример кода hello-jni, чтобы у вас была Java-оболочка, которая мало что делает, кроме как начинать с вызова нативного кода. Просто помните, что не нужно выполнять много обработки в потоке пользовательского интерфейса или в собственном коде, вызываемом в этом потоке, иначе вы рискуете, что приложение не ответит по таймауту.
Также возможно (ab) использовать gcc ndk для создания автономных собственных исполняемых файлов без java-оболочки, но это не рекомендуется. Трудно найти надежное место для установки их на нерутированный телефон, и управление процессами в Android не в восторге от неизвестных нативных процессов. Другими словами, это путь, который подходит для личных экспериментов на вашем собственном устройстве, но сложный и не ориентированный на будущее для приложения, развернутого для других.