使用原生程式庫
Xamarin.Android 支援透過標準 PInvoke 機制使用原生連結庫。 您也可以將不屬於作業系統的其他原生連結庫組合到您的.apk。
若要使用 Xamarin.Android 應用程式部署原生連結庫,請將連結庫二進位檔新增至專案,並將其建置動作設定為 AndroidNativeLibrary。
若要使用 Xamarin.Android 連結庫專案部署原生連結庫,請將連結庫二進位檔新增至專案,並將其建置動作設定為 EmbeddedNativeLibrary。
請注意,由於Android支援多個應用程式二進位介面 (ABI),Xamarin.Android 必須知道原生連結庫建置的ABI。 方法有二:
- 路徑「探查」
- 使用
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 2019 或 Visual Studio 2017,就不需要修改項目檔,如上所述。 您可以在 Xamarin.Android 解決方案內建置和偵錯 C++,方法是將項目參考新增至 C++ 動態共用連結庫 (Android) 專案。
若要對專案中的原生 C++ 程式代碼進行偵錯,請遵循下列步驟:
- 按兩下專案 [屬性 ],然後選取 [Android 選項] 頁面。
- 向下捲動至 [ 偵錯] 選項。
- 在 [ 調試程式] 下拉功能表中,選取 C++ (而不是預設 的 .NET (Xamarin)]。