2015-10-28 61 views
3

我正在嘗試使用Xamarin Forms創建一個簡單的sip應用程序。我使用PjSip作爲啜飲功能的工具。我有一個源文件(.c)和一些我想從我的Xamarin應用程序調用的方法。
我已經爲Xamarin ios構建了一個靜態庫(.a),並使用p/invoke從我的c文件中調用方法創建了一個包裝器。它工作完美。但現在我堅持建立共享庫(.so)在Xamarin android中使用它們。
我正在尋找一步一步的指導建立共享庫的Xamarin安卓開始C源代碼和結束鏈接庫實際Xamarin Android應用程序。但我仍然非常感謝任何幫助。從Xamarin Android的c源代碼創建共享庫

回答

1

這是你在找什麼:

Build and Debug C++ Libraries in Xamarin.Android Apps with Visual Studio 2015

概述

  • 安裝Visual Studio 2015年
  • 創建一個新的Visual C++動態共享庫項目
  • 參考這個項目在你的Xamarin項目
  • 使用DllImport來訪問C代碼。例如:

    [DllImport ("sanangeles", 
          EntryPoint = "Java_com_example_SanAngeles_DemoGLSurfaceView_nativePause")] 
    static extern void nativePause (IntPtr jnienv); 
    
  • 瀏覽this project,深入瞭解視圖

當你不喜歡這樣,你甚至可以調試C代碼在運行Visual Studio中的Xamarin.Android應用2015

+0

如果我可以這樣做,那將會很棒。但我不明白一些事情。首先,當我將Xamarin Android項目的引用添加到新的動態共享庫項目時,我得到一個警告'無法引用'項目'DynamicSipProject'。程序集必須具有「dll」或「exe」擴展名才能被引用。第二個是在編譯pjsip源代碼之後,我有很多靜態庫(.a)。我如何在這個動態共享庫項目中使用它們? –