2014-06-30 17 views
1

PlayStation에서 "실시간 편집"을위한 안드로이드 앱을 만들려고하고 있으며 작동하는 라이브러리가 2 개 있습니다. 그 중 하나는 C#으로 코딩되는 반면 다른 하나는 Native C++로 코딩됩니다. C# lib는 Importdll 함수를 사용하여 네이티브 C++ 코드를 호출합니다.이 코드는 PS3와 차례로 적용됩니다.네이티브 C++ 라이브러리를 호출하는 C# 라이브러리를 호출하기 위해 java를 사용하는 방법

예 :

[DllImport("CCAPI.dll", EntryPoint="_ZN5CcApi13getDllVersionEv", CallingConvention=CallingConvention.Cdecl)] 
    private static extern int getDllVersion(); 
    public int GetDllVersion() 
    { 
     return getDllVersion(); 
    } 

문제 다음 C++ 라이브러리가없는 오픈 소스입니다. 그리고 나는 JNI를 사용하여 자바 헤더를 추가하지 않고 C++ 라이브러리 내에서 메소드를 호출 할 수 있다고 생각하지 않는다. (미안하면 바보 같은 소리가 난다. 나는 문자 그대로 1 일 자바가 처음이다.)

내가 PS3Lib (javaplugin)의 자바 버전을 만들어서 CCAPI.dll에서 작동 할 수 있는지 궁금합니다.

C# 해방 : 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

덕분에, 난이를 읽는 사람을 주셔서 감사합니다. 모든 의견은 크게 감사하겠습니다.

+0

Android에서 .net 런타임을 기본적으로 지원하지 않습니다. [Xamarin] (http://xamarin.com/)의 도구를 사용하여 효과를 낼 수 있습니다. 하지만 그들은 상용 용도로는 무료가 아니며, .net 바이너리를 실행할 수 있는지 또는 Android에서 실행하기 위해 C# 코드를 Java로 크로스 컴파일하여 작동하는지는 알지 못합니다. (후자의 경우, 그들은 도움이되지 않을 것입니다.) –

+0

사실 XAMARIN 사정에서 그것을 위해 도서관을 만들었습니다. : D하지만 문제는 내가 XAMARIN에서 hello world APP가 forceclosing을 유지하기 때문에 작동하지 않는다는 것입니다. :/(나는 .dll 오류라고 생각합니다.) @DanNeely –

+0

Xamarin에 관한 새로운 질문을 묻습니다. 충돌이 도움이 될지도 모릅니다. 나는 그것을 사용한 적이 없기 때문에 직접적인 조언을 드릴 수는 없습니다. –

답변

0

내가 필요한 답변을 찾았습니다. JNI (Java Native Interface)를 사용하여 C# 라이브러리를 랩핑하고 C++ 메소드를 호출해야합니다.

+0

추가 정보 : https://github.com/Encapsulate/JRTE 이것을 사용하여 이것을 오픈 소스로 만들었습니다. –