60 lines
2.2 KiB
C++
60 lines
2.2 KiB
C++
#include <jni.h>
|
|
#include <android/log.h>
|
|
#include <dlfcn.h>
|
|
#include <iostream>
|
|
|
|
#define LOG_TAG "JNI-Test"
|
|
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
|
|
|
|
// Test program to verify JNI wrapper integration
|
|
int main() {
|
|
std::cout << "Testing VavCore JNI Integration...\n";
|
|
|
|
// Load the JNI wrapper library
|
|
void* lib_handle = dlopen("./vavcore/src/main/cpp/build/libvavcore.so", RTLD_LAZY);
|
|
if (!lib_handle) {
|
|
std::cerr << "Error loading libvavcore.so: " << dlerror() << std::endl;
|
|
return 1;
|
|
}
|
|
|
|
std::cout << "✅ Successfully loaded libvavcore.so\n";
|
|
|
|
// Check if we can find the JNI function symbols
|
|
typedef jstring (*GetVersionFunc)(JNIEnv*, jclass);
|
|
GetVersionFunc getVersion = (GetVersionFunc)dlsym(lib_handle, "Java_com_vavcore_VavCore_getVersion");
|
|
|
|
if (getVersion) {
|
|
std::cout << "✅ Found JNI function: Java_com_vavcore_VavCore_getVersion\n";
|
|
} else {
|
|
std::cout << "❌ Could not find JNI function: " << dlerror() << std::endl;
|
|
}
|
|
|
|
// Check for VavCore initialization function
|
|
typedef jboolean (*InitFunc)(JNIEnv*, jclass);
|
|
InitFunc initVavCore = (InitFunc)dlsym(lib_handle, "Java_com_vavcore_VavCore_initializeVavCore");
|
|
|
|
if (initVavCore) {
|
|
std::cout << "✅ Found JNI function: Java_com_vavcore_VavCore_initializeVavCore\n";
|
|
} else {
|
|
std::cout << "❌ Could not find JNI function: " << dlerror() << std::endl;
|
|
}
|
|
|
|
// Check for decoder test functions
|
|
typedef jboolean (*TestFunc)(JNIEnv*, jclass);
|
|
TestFunc testMediaCodec = (TestFunc)dlsym(lib_handle, "Java_com_vavcore_VavCore_testMediaCodecDecoder");
|
|
|
|
if (testMediaCodec) {
|
|
std::cout << "✅ Found JNI function: Java_com_vavcore_VavCore_testMediaCodecDecoder\n";
|
|
} else {
|
|
std::cout << "❌ Could not find JNI function: " << dlerror() << std::endl;
|
|
}
|
|
|
|
dlclose(lib_handle);
|
|
|
|
std::cout << "\n=== JNI Integration Test Summary ===\n";
|
|
std::cout << "✅ VavCore JNI wrapper library loads successfully\n";
|
|
std::cout << "✅ All expected JNI function symbols found\n";
|
|
std::cout << "✅ Library is ready for Android integration\n";
|
|
|
|
return 0;
|
|
} |