首先,here是您正在寻找的示例Android项目插件。
知道如何自己做这件事非常重要。
过去,这是很难做到过,但最新的Android 工作室使得它更容易现在使用C/C++或容易产生。所以库。更新Android Studio到最新版本,然后按照以下步骤创建一个C++插件。
.Create Android Studio中
。检查一个新的项目包括C++询问服务启用C++。
。对下拉菜单,检查C++ 11的C++标准下拉菜单上。您将需要C++ 11来实际使用最有用的C++功能。另外,如果你需要它们,启用异常或frtti。
就是这样。
当你创建插件:
调试库应该是:
\app\build\intermediates\cmake\debug\obj\
释放库应该是:
\app\build\intermediates\cmake\debug\obj\
如果你只看到调试但不是插件的发布版本,请检查here以了解如何使其显示。你是在Android上得到DllNotFoundException
可能的原因:
。你没包住C/C++函数各地extern "C"。您必须对.cpp文件中的每个功能执行此操作,或者您在.h文件中的功能中执行此操作。
。你把插件放在错误的Unity文件夹中。
在Unity项目中,在\app\build\intermediates\cmake\release\obj处生成的armeabi-v7a和x86插件应放置在Assets\Plugins\Android\libs\armeabi-v7a\和Assets\Plugins\Android\libs\x86\处。
确保拼写正确。有关详细信息,请参阅this。
。您从C#端正确加载它。
假设该插件的名称是libScreenshot.a,做不包括的lib前缀,也做不加载时添加.a。
[DllImport("Screenshot", CallingConvention = CallingConvention.Cdecl)]
public static extern void takeScreenshot();