Как использовать 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++.

Другие вопросы по тегам