我正在尝试在Playstation上为“实时编辑”创建一个Android应用程序,它依赖于2个库来运行。其中一个用C#编码,另一个用Native C ++编码。 C#lib使用Importdll函数来调用Native C ++代码,而后者又与PS3一起执行。
示例:
[DllImport("CCAPI.dll", EntryPoint="_ZN5CcApi13getDllVersionEv", CallingConvention=CallingConvention.Cdecl)]
private static extern int getDllVersion();
public int GetDllVersion()
{
return getDllVersion();
}
问题:C ++库不是开源的。我不认为可以使用JNI在不添加Java头的情况下调用C ++库中的方法。 (对不起,如果它听起来有点愚蠢,我实际上是第一天新的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
谢谢,我甚至欣赏任何人阅读本文。任何反馈将不胜感激。
答案 0 :(得分:0)
找到了我需要的答案。您必须使用JNI(Java Native Interface)来包装C#库并调用C ++方法。