簡體   English   中英

在Eclipse中安裝和使用Android NDK

[英]Installing & using the Android NDK in Eclipse

我一直在Eclipse(MAC OSX)中運行Android SDK一段時間。 我已經下載了NDK並在Eclipse中安裝了C / C ++工具,但有人可以指導我使用NDK嗎? 例如,我是否只是像普通的那樣創建一個Android項目並用NDK構建它?

如果有人知道的話,真的可以用一個體面的教程。

編輯:好的,所以我現在安裝了NDK(我認為)但有沒有人知道如何使用它? 我得到了這個(取自這里 ):

運行終端

cd~ / android-ndk-1.5_r1

制作APP = hello-jni

為了運行hello-jni示例應用程序,但我在終端中收到錯誤說:

Android NDK:為未知應用程序定義的APP變量:hellojni
Android NDK:您可能希望使用以下其中一項:
build / core / main.mk:81:*** Android NDK:正在中止。 停止。

有什么想法嗎?

就像我可以描述的那樣,在Eclipse中使用NDK構建Android應用程序需要兩個步驟。

首先,在終端內部,您需要在項目上運行NDK構建腳本。 cd到項目目錄的根目錄,然后在該目錄中執行ndk-build腳本。

例如:

cd ~/workspace/hello-jni
./~/android-ndk-1.5_r1/ndk-build

執行此操作后,您應該看到一些輸出導致在項目目錄中的obj目錄中創建* .SO文件。

獲得* .SO文件之后,通過Eclipse構建Android NDK應用程序的最后一步是使用Eclipse構建它,就像使用任何其他應用程序一樣,然后將其部署用於測試。

如果對C / C ++代碼進行任何更改,則需要重新執行第一步並重新生成* .SO文件,然后再從Eclipse中構建和部署應用程序。

我想指出,通過使用Android NDK,您的Android應用程序仍然基於Java。 它們只是通過Java Native Interface與用C / C ++編寫的代碼進行通信。

最后,我不知道任何有助於NDK開發的Eclipse插件。 我所知道的關於NDK的一切我都學到了官方的Android NDK文檔 請隨時發表評論並告訴我是否有任何我可以在回復中澄清的內容。

從ADT版本20開始,本機開發和調試支持進入Eclipse環境.http: //tools.android.com/recent/usingthendkplugin

  • 從Eclipse Preferences - > Android - > NDK設置NDK的路徑
  • 右鍵單擊您的項目,然后選擇Android Tools - > Add Native Support

developer.android.com聲明你還需要Cygwin。

http://developer.android.com/tools/sdk/ndk/index.html#Contents

必需的開發工具

  • 對於所有開發平台,都需要GNU Make 3.81或更高版本。 早期版本的GNU Make可能有效,但尚未經過測試。
  • 最新版本的awk(GNU Awk或Nawk)也是必需的。
  • 對於Windows,需要Cygwin 1.7或更高版本。 NDK不適用於Cygwin 1.5安裝。

NDK中的docs目錄有一些關於如何使用NDK本身的非常好的信息。 閱讀概述,Application.mk和Android.mk HTML文檔。 您需要谷歌搜索Sun JNI PDF,下載它,並在進一步學習之前了解JNI的全部內容。 這是因為使用NDK簡單地將一堆C / C ++代碼編譯到庫中只是該過程的一部分。 您必須編寫調用C / C ++的本機Java代碼,並且必須在C / C ++中創建符合本機Java代碼可以調用的JNI約定的包裝函數。 JNI已經存在了很長時間,它無論如何都不是Android特有的。 因此,您可以通過使用命令行工具(如javah和javac),在了解基礎知識之后,繼續學習面向JNI的教程,然后返回與NDK集成。 (有關這些C墊片的示例,請查看NDK中的hello-jni示例; C源文件通常會顯示墊片的外觀。使用javah生成這些墊片是一種方法,您創建具有本機方法的Java類,使用javah處理它們,並為您生成C頭,然后編寫符合生成的函數原型的C函數)。

注意:雖然NDK文檔可以讓你從命令行手動構建然后進入Eclipse來構建你的應用程序(一系列繁瑣的步驟,當然,特別是如果你要更改C / C ++代碼),它會證明你可以與Eclipse輕松集成,以便每次從Eclipse構建時都運行NDK。 看看怎么樣, 請在這里閱讀

這是為了其他想要在eclipse中從頭開始創建項目的人的利益:我在這里的博客中按照這里提到的步驟進行操作並且工作正常: http//mhandroid.wordpress.com/2011/01/23/using-蝕換機器人-CC-發展/

要嘗試直接回答問題 - 您需要在項目文件夾中包含本機代碼的文件夾中運行ndk-build。 這將在Eclipse中的jni下創建文件資源管理器/資源樹中的.so文件。 如果代碼中的語法正確,這些函數現在可以從您的java代碼中調用。

在安裝和掌握Android Developer Tools和NDK時,我發現了很多幫助來源。 我寫了一篇博文來分享我的經歷,並希望回饋社區,幫助我實現這一目標,這可能有助於理解我的答案: http//workingmatt.blogspot.co.uk/2013/03/set-up-android- SDK-和ndk.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM