Как использовать Java для вызова библиотеки C#, которая вызывает собственную библиотеку C++
Я пытаюсь сделать приложение для Android для "Редактирования в реальном времени" на Playstation, и это зависит от 2 библиотек для работы. Один из которых написан на C#, а другой на Native C++. C# lib использует функцию Importdll, чтобы вызывать собственный код C++, который, в свою очередь, вступает в силу с PS3.
Пример:
[DllImport("CCAPI.dll", EntryPoint="_ZN5CcApi13getDllVersionEv", CallingConvention=CallingConvention.Cdecl)]
private static extern int getDllVersion();
public int GetDllVersion()
{
return getDllVersion();
}
Проблема: библиотека C++ не является открытым исходным кодом. И я не думаю, что можно использовать JNI для вызова методов в библиотеке C++ без добавления заголовка Java. (Извините, если это звучит немного глупо, я буквально ДЕНЬ 1 новичок в JAVA).
Мне просто интересно, могу ли я сделать версию Java PS3Lib (javaplugin), чтобы он мог работать с CCAPI.dll.
C# Lib: PS3Lib.dll http://www.mediafire.com/download/chsvllkrmvb56vi/PS3Lib4.4.2.1.dll C++ Lib: CCAPI.dll http://www.mediafire.com/download/k5x3c1s6z26cuzt/CCAPI2.50.dll
Спасибо, я ценю любого, кто даже читает это. Любая обратная связь будет принята с благодарностью.
1 ответ
Нашел ответ, который мне был нужен. Вы должны использовать JNI (собственный интерфейс Java), чтобы обернуть библиотеку C# и вызвать методы C++.