android ndk r10d下載 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

您的位置: 首頁編程開發(fā)編程工具 → android ndk r10d 64(安卓開發(fā)工具)

android ndk r10d 64(安卓開發(fā)工具)

android ndk r10d 64(安卓開發(fā)工具) 網(wǎng)友評分:8

同類相關(guān)軟件

軟件介紹

軟件標(biāo)簽: androidndkr10d 編程工具

android ndk r10d是一款非常好用的安卓開發(fā)工具軟件,有了它以后,用戶就可以快速的進(jìn)行開發(fā),還可以將應(yīng)用文件打包成安卓常用的apk格式,歡迎有需要的朋友到綠色資源網(wǎng)下載使用!

官方介紹

Android NDK是一系列工具的集合。幫助開發(fā)者快速開發(fā)C(或C++)的動態(tài)庫,并能自動將so和java應(yīng)用一起打包成apk。NDK集成了交叉編譯器,并提供了相應(yīng)的mk文件隔離平臺、CPU、API等差異,開發(fā)人員只需要簡單修改mk文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創(chuàng)建出so。NDK可以自動地將so和Java應(yīng)用一起打包,極大地減輕了開發(fā)人員的打包工作。

android ndk r10d 64使用說明

1.NDK包括了:

從C / C++生成原生代碼庫所需要的工具和build files。

將一致的原生庫嵌入可以在Android設(shè)備上部署的應(yīng)用程序包文件(application packages files ,即.apk文件)中。

支持所有未來Android平臺的一些列原生系統(tǒng)頭文件和庫。

2.使用原生SDK編程相比Dalvik虛擬機(jī)也有一些劣勢,比如程序更加復(fù)雜,兼容性難以保障,無法訪問Framework API,Debug難度更大等。開發(fā)者需要自行斟酌使用。

3.眾所周知,Android程序運(yùn)行在Dalvik虛擬機(jī)中,NDK允許用戶使用類似C / C++之類的原生代碼語言執(zhí)行部分程序。

android ndk r10d安裝方法

在Linux上,尤其是Debian/ubuntu上進(jìn)行安裝,非常順利,不會有什么問題。但是在Windows平臺進(jìn)行安裝,就不那么輕松了,根據(jù)Google的建議,我們需要安裝cygwin,而且特別提醒一定在安裝時,注意把make和gcc包含進(jìn)去。

首次安裝時,會遇到的問題。由于沒有經(jīng)驗,第一次安裝,統(tǒng)統(tǒng)采用默認(rèn)設(shè)置,由此遇到的第一個問題:

your C compiler doesn't seem to work:

gcc.exe:/temp/android-4068-test.c: No such file or directory

gcc.exe: no input files

根據(jù)錯誤信息,可以推定應(yīng)該是安裝cygwin時沒有進(jìn)行正確的設(shè)置,要選擇上make和gcc的 包選項,

為了以防萬一,遺漏掉依賴的包,干脆把Devel包從default變?yōu)閕nstall,這樣這個包下所有內(nèi)容一律安裝。

安裝好NDK之后,最好花上幾分鐘讀一讀/docs目錄下文檔。特別是要完整閱讀OVERVIEW.TXT,讀完以后你就可以明白NDK的初衷以及如何使用它了。

把native source放在/sources/,當(dāng)然也可以建立鏈接。

創(chuàng)建/sources//Android.mk,描述native sources。

創(chuàng)建/apps//Application.mk,描述Android applicaiton和navite sources。

在NDK路徑的最頂極目錄里執(zhí)行make命令來build native code : make APP

最后,使用SDK工具,以通常的方式編譯應(yīng)用,SDK的build工具會將共享庫打包進(jìn)apk的文件。

旦安裝完NDK之后,就可以使用這些命令,從NDK的根目錄下build共享庫了:make APP=hello-jni 這將會編譯/sources/samples/hello-jni/hello-jni.c,并輸出共享庫到/apps/hello-jni /project/libs/armeabi/libhello-jni.so.由于實際工作中,我們很少會把工程放在/apps下,因此下面將嘗試如何 將應(yīng)用和ndk分開來放置。

拷貝/apps/hello-jni/project,重命名為my-hello-jni,然后使用”Import from Existing Source”,創(chuàng)建名稱為my-hello-jni的android工程。在/apps下新建文件夾my-hello-jni,并從hello-jni 下拷貝Application.mk到新文件夾下,打開該文件,修改APP_PROJECT_PATH為正確的路徑,注意這里的路徑應(yīng)該是cygwin下 的路徑,例如我的路徑是:/cygdrive/e/workspace/my-hello-jni。

完成之后,到ndk的根路徑下,執(zhí)行make APP=my-hello-jni,然后即可成功看到結(jié)果:

Android NDK: Building for application 'my-hello-jni'

Compile thumb : hello-jni <= sources/samples/hello-jni/hello-jni.c

SharedLibrary : libhello-jni.so

Install : libhello-jni.so => /cygdrive/e/worskspace/my-hello-jni/libs/armeabi

eclipse中android NDK開發(fā)環(huán)境的搭建方法

1.首先、下載android NDK,得到一個android-ndk-r10d-windows-x86_64.exe的安裝文件,雙擊解壓得到一個android-ndk-r10d的文件夾。安裝android NDK,前提是你必須是安裝android sdk,能夠看到這兒,應(yīng)該是已經(jīng)安裝android sdk了的,點擊菜單Window-->Preferences-->Android-->NDK,在NDK Location中輸入之前android-ndk-r10d的全路徑,點擊OK

到此為止,我們的android NDK就安裝完成了!??!,如果展開android這個節(jié)點,發(fā)現(xiàn)沒有NDK這個選項,請參看:eclipse adt開發(fā)android ndk沒有NDK選項問題的解決方案

2.其次、從NDK的案例中導(dǎo)入一個來測試,把a(bǔ)ndroid-ndk-r10d\samples下的hello-jni導(dǎo)入到eclipse 中,然后將項目Add Native Support

在彈出的對話框中,點擊finish,這樣就為我們的項目增加了NDK的支持。

然后、在C/C++的Perspective,選中項目,點擊一個錘子模樣的菜單,來Build Project,如果能看到在控制臺打印類似20:50:59 Build Finished (took 1m:11s.298ms)的字樣就說明Build成功了

3.運(yùn)行項目,我們能看到在模擬器上顯示出從當(dāng)前CUP的類型

4.我們NDK的環(huán)境就算搭建好了!?。?/p>

5.最后、我們來看一下怎樣來調(diào)試我們的NDK C/C++代碼,打開jni/hello-jni.c文件,我們看到一打開就報錯了,沒關(guān)系,解決方法請看Android NDK *** could not be resolved,錯誤消失后,在方法Java_com_example_hellojni_HelloJni_stringFromJNI的最后一行代碼上打上斷點,debug android Native Application

發(fā)現(xiàn)沒有Debug起來,控制臺的錯誤如下:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] Android

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] NDK:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] WARNING:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] APP_PLATFORM

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] android-9

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] is

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] larger

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] than

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] android:minSdkVersion

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 3

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] in

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] ./AndroidManifest.xml

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

all

[2015-01-28 21:06:01 - HelloJni] Unable to detect application ABI's

這是由于android:minSdkVersion和項目的編譯版本不一致,造成的,我們改成一致,都是10,再次運(yùn)行,發(fā)現(xiàn)又報了一個錯誤:

[2015-01-28 21:13:32 - HelloJni] gdbserver output:

[2015-01-28 21:13:32 - HelloJni] run-as: exec failed for lib/gdbserver Error:No such file or directory

[2015-01-28 21:13:32 - HelloJni] Verify if the application was built with NDK_DEBUG=1

我們修改一下C/C++ Build command:Properties-->C/C++ Build,去掉Use default build command前面的復(fù)選框,在

build command中輸入:ndk-build NDK_DEBUG=1

6.再次Debug我們的項目,發(fā)現(xiàn)沒有進(jìn)我們打的斷點,但是我們發(fā)現(xiàn)了Android Native Application gdb運(yùn)行起來了

同時在控制臺上打印出如下的錯誤代碼:

warning: Could not load shared library symbols for 88 libraries, e.g. /system/bin/linker.

Use the "info sharedlibrary" command to see the complete listing.

Do you need "set solib-search-path" or "set sysroot"?

warning: Unable to find dynamic linker breakpoint function.

GDB will be unable to debug shared library initializers

and track explicitly loaded dynamic code.

我試過,這個錯誤信息對我們的影響不大,我們按模擬器的返回鍵退出程序,再次進(jìn)入,我們發(fā)現(xiàn),進(jìn)入斷點了,可以調(diào)試了

到此,我們調(diào)試就成功了!

軟件截圖

下載地址 電腦版

點擊報錯 軟件無法下載或下載后無法使用,請點擊報錯,謝謝!

用戶評論

熱門評論

最新評論

發(fā)表評論 查看所有評論(0)

昵稱:
請不要評論無意義或臟話,我們所有評論會有人工審核.
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)