Share via


使用原生程式庫

Xamarin.Android 支援透過標準 PInvoke 機制使用原生連結庫。 您也可以將不屬於作業系統的其他原生連結庫組合到您的.apk。

若要使用 Xamarin.Android 應用程式部署原生連結庫,請將連結庫二進位檔新增至專案,並將其建置動作設定AndroidNativeLibrary

若要使用 Xamarin.Android 連結庫專案部署原生連結庫,請將連結庫二進位檔新增至專案,並將其建置動作設定EmbeddedNativeLibrary

請注意,由於Android支援多個應用程式二進位介面 (ABI),Xamarin.Android 必須知道原生連結庫建置的ABI。 方法有二:

  1. 路徑「探查」
  2. 使用 AndroidNativeLibrary/Abi 項目檔內的專案

路徑探查會使用原生程式庫的父目錄名稱來指定程式庫的目標 ABI。 因此,如果您將 新增 lib/armeabi/libfoo.so 至專案,則 ABI 會「嗅探」為 armeabi

或者,您可以編輯項目檔,以明確指定要使用的 ABI:

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

如需使用原生連結庫的詳細資訊,請參閱 Interop 與原生連結庫

使用 Visual Studio 對機器碼進行偵錯

如果您使用 Visual Studio 2019Visual Studio 2017,就不需要修改項目檔,如上所述。 您可以在 Xamarin.Android 解決方案內建置和偵錯 C++,方法是將項目參考新增至 C++ 動態共用連結庫 (Android) 專案。

若要對專案中的原生 C++ 程式代碼進行偵錯,請遵循下列步驟:

  1. 按兩下專案 [屬性 ],然後選取 [Android 選項] 頁面。
  2. 向下捲動至 [ 偵錯] 選項
  3. 在 [ 調試程式] 下拉功能表中,選取 C++ (而不是預設 的 .NET (Xamarin)]。