2012-05-07 40 views
10

我閱讀了關於Windows上NDK編程的要求,這表示我們需要Cygwin。閱讀關於Cygwin的說法,我們要求它是因爲它是a way to make Windows support some linux functionality。但是我的問題是編程的哪個階段(Where Exactly )Cygwin將是必需的,爲什麼?有關此主題的附加信息最受歡迎用於Android-NDK編程的Cygwin

回答

30

從版本7開始的Android NDK不需要Cygwin。在這裏看到:http://developer.android.com/sdk/ndk/index.html

您可以在Windows上通過從項目路徑調用命令行的NDK-build.cmd腳本現在構建NDK源文件,而無需Cygwin的。該腳本採用與原始ndk-build腳本完全相同的參數。 Windows NDK包自帶了GNU Make,Awk和構建所需的其他工具的預構建二進制文件。你不需要安裝其他任何東西來獲得可用的構建系統。

它提到你不能在沒有Cygwin的情況下使用ndk-gdb腳本。雖然這是真的,但您可以直接在沒有Cygwin的情況下直接使用gdb可執行文件,只有這樣您才需要手動正確設置它。

+0

非常棒..可以建立我的應用程序,而不使用cygwin ..謝謝...你可以更多地評論你的答案的這部分「它提到你不能使用ndk-gdb腳本沒有Cygwin。雖然這是真的,你可以實際使用gdb可執行文件直接沒有Cygwin「 – AbhishekB

+0

你可以閱讀ndk-gdb腳本來查看它正在做什麼。這並不難。它是這樣的:http://mhandroid.wordpress.com/2011/01/25/how-cc-debugging-works-on-android/或http://www.kandroid.org/online-pdk/guide/ debugging_gdb.html它是使用gdb和gdbserver進行遠程調試的標準設置。 –

+0

我同意,閱讀:http://stackoverflow.com/a/8384324/866333。然而,馬斯汀的引用段落不在原始鏈接目標中。相反,我正在閱讀:「所需的開發工具 對於所有的開發平臺,GNU Make 3.81或更高版本都是必需的。早期版本的GNU Make可能有效,但尚未經過測試。 最新版本的awk(GNU Awk或Nawk)也是必需的。 對於Windows,需要Cygwin 1.7或更高版本。 「 – John

1

Make執行Android.mk文件的命令。

Android.mk文件由要編譯的c/C++文件列表以及庫名稱(.so)組成。

+0

感謝您的快速reply.But u能告訴我一些它的細節,也如果u告訴你們的ANS的來源也將是非常好的。 – AbhishekB

+0

何時給出Make命令? – AbhishekB

+1

http://en.wikipedia.org/wiki/Cygwin#Features和http://en.wikipedia.org/wiki/Make_%28software%29 –

2
  1. 至少NDK-r8b,如果你想建立你的.so,你不需要Cygwin。
  2. 但是,如果你想使用ndk-gdb來調試你的本地代碼,你必須使用Cygwin。
  3. 而且,在我的實驗,如果你NDK-GDB您在Cygwin下本機調試是從在cmd windows自帶原生代碼,NDK-GDB似乎不能識別調試信息。因此,爲了調試目的,我構建了本機Cygwin。
1

(來自NDK-r8e NDK-GDB文檔)目前'ndk-gdb'需要運行一個Unix shell。這意味着Cygwin需要在Windows上運行它。我們希望在未來的NDK版本中擺脫這個限制。