我想从安卓工作室访问 .so lib 及其 cpp 文件的方法

I wanted to access .so lib and methods of it's cpp files from Android studio

本文关键字:及其 lib cpp 文件 方法 so 访问 工作室      更新时间:2023-10-16

我想访问来自Android Studio的CPP文件的lib文件和方法。

Android Studio中的代码=>在.so lib =>中的Java代码中 jni =>在cpp

您需要与JNI/NDK编写该共享库的包装器,然后您可以在Kotlin或Java中调用JNI/NDK实现。

将您的C/C 加载到Java中:

System.loadLibrary("lib-wrapper");

在Java中创建一个接口:

package my.package.name;
class LibWrapper {
  /**
   * Native method implemented in C/C++
   */
  public native String wrapperFunction();
} 

,然后在您的lib-wrapper.c

JNIEXPORT jstring JNICALL
Java_my_package_name_LibWrapper_wrapperFunction( JNIEnv* env,
                                                  jobject thiz ) {
   // call your .so code here
   // then return your result
   return (*env)->NewStringUTF(env, "wrapperFunction Result");
}

更多资源:

https://developer.android.com/studio/projects/add-native-code

https://developer.android.com/ndk/samples/sample_hellojni#java