Používání nativních knihoven

Xamarin.Android podporuje použití nativních knihoven prostřednictvím standardního mechanismu PInvoke. Do .apk můžete také sbalit další nativní knihovny, které nejsou součástí operačního systému.

Pokud chcete nasadit nativní knihovnu s aplikací Xamarin.Android, přidejte do projektu binární soubor knihovny a nastavte jeho akci sestavení na AndroidNativeLibrary.

Pokud chcete nasadit nativní knihovnu s projektem knihovny Xamarin.Android, přidejte do projektu binární soubor knihovny a nastavte jeho akci sestavení na EmbeddedNativeLibrary.

Všimněte si, že vzhledem k tomu, že Android podporuje více binárních rozhraní aplikací (ABI), Xamarin.Android musí vědět, pro kterou nativní knihovnu ABI je vytvořená. Můžete to udělat dvěma způsoby:

  1. Cesta "sniffing"
  2. Použitím elementu AndroidNativeLibrary/Abi v souboru projektu

Při zašifrování cesty se k určení ABI, který cílí na knihovnu, používá nadřazený název adresáře nativní knihovny. Pokud tedy přidáte lib/armeabi/libfoo.so do projektu, ABI se "zašifruje" jako armeabi.

Případně můžete upravit soubor projektu a explicitně zadat ABI, který se má použít:

<ItemGroup>
    <AndroidNativeLibrary Include="path/to/libfoo.so">
        <Abi>armeabi</Abi>
    </AndroidNativeLibrary>
</ItemGroup>

Další informace o používání nativních knihoven najdete v tématu Spolupráce s nativními knihovnami.

Ladění nativního kódu pomocí sady Visual Studio

Pokud používáte Visual Studio 2019 nebo Visual Studio 2017, nemusíte upravovat soubory projektu, jak je popsáno výše. V řešení Xamarin.Android můžete sestavit a ladit jazyk C++ přidáním odkazu na projekt C++ Dynamic Shared Library (Android).

Pokud chcete v projektu ladit nativní kód C++, postupujte takto:

  1. Poklikejte na vlastnosti projektu a vyberte stránku Možnosti androidu.
  2. Posuňte se dolů k možnostem ladění.
  3. V rozevírací nabídce ladicího programu vyberte C++ (místo výchozí technologie .NET (Xamarin)).

Vývojáři v sadě Visual Studio C++ si mohou prohlédnout ukázku SanAngeles_NativeDebug k vyzkoušení ladění C++ ze sady Visual Studio 2019 nebo sady Visual Studio 2017 pomocí Xamarinu. Další informace najdete v našem blogovém příspěvku .