是的你可以.您可以使用NDK来实现它,使您更容易使用,交叉编译到Android支持的所有平台(ARM变体和x86).您只需要像为本机Java方法创建共享库一样.只需确保更改要使用的makefile BUILD_EXECUTABLE而不是BUILD_SHARED_LIBRARY创建可执行文件.当然你不需要APK文件夹结构,只需要"jni"文件夹.
教程
创建项目文件夹:
mkdir project_folder
cd project_folder/jni
NDK_PROJECT_PATH=<path to>/project_folder
Run Code Online (Sandbox Code Playgroud)
在jni文件夹中创建Android.mk makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := teste
LOCAL_SRC_FILES := teste.c
include $(BUILD_EXECUTABLE)
Run Code Online (Sandbox Code Playgroud)
在中创建源代码jni.在这种情况下,您可以从上面的makefile中看到,它是teste.c:
#include <stdio.h>
int main (){
puts("Hello World");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在转到项目文件夹并从那里运行ndk-build:
# ~/Downloads/android-ndk-r8b/ndk-build
Compile thumb : teste <= teste.c
Executable : teste
Install : teste => libs/armeabi/teste
Run Code Online (Sandbox Code Playgroud)
虽然它是输出到lib文件夹,但它是一个可执行文件,你可以检查 file
#file libs/armeabi/teste
libs/armeabi/teste: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Run Code Online (Sandbox Code Playgroud)