日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
在Windows系統(tǒng)上安裝與使用AndroidNDKr5

一、 Android NDK r5安裝

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的新樂(lè)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1、 cygwin的安裝和簡(jiǎn)單配置

① 首先到http://www.cygwin.com下載setup.exe ,接著建立安裝目錄,如X:\cygwin (我用的是 E:\cygwin ) ,將setup.exe放到此目錄。

② 啟動(dòng)安裝:

BEGIN-> 點(diǎn)擊setup.exe:

③ Next->選Install from Internet(選擇在線安裝方式):

④ Next->填寫Root Directory,如X:\cygwin(選擇安裝路徑):

⑤ Next->填寫Local Package Directory,如X:\cygwin\ftp(選擇下載文件存放的目錄):

⑥ Next->選Direct Connection(選擇網(wǎng)絡(luò)連接方式):

⑦ Next->選一個(gè)較快的ftp(選擇下載鏡像站點(diǎn)):

⑧ Next->(開(kāi)始下載安裝):

⑨ 到了關(guān)鍵步驟,如果僅想安裝基本系統(tǒng),直接Next;如果想完全安裝,點(diǎn)擊 All旁邊的旋轉(zhuǎn)狀圖標(biāo),將Default切換至Install;如果僅想在命令行下寫寫程序,則只要將gcc、make等開(kāi)發(fā)工具選上,還有openssh等(一般選擇: autoconf2.1 、 automake1.10 、 binutils 、 gcc-core 、 gcc4-core 、 gdb 、 pcre 、 pcre-devel 、 GNU awk );選好后,Next->:

⑩ 選擇需不需要?jiǎng)?chuàng)建快捷方式。->END

最后啟動(dòng)Cygwin,測(cè)試安裝是否成功:

點(diǎn)擊快捷方式或X:\cygwin\cygwin.bat打開(kāi)控制臺(tái),如果是域用戶,按照提示makepasswd和makegroup即可。

輸入命令檢查

出現(xiàn)以上版本信息則表明make 和gcc 已經(jīng)安裝成功。

2、 Android NDK r5 Windows

① 首先到官網(wǎng)下載 Android NDK r5 Windows

② android-ndk-r5直接解壓就行了,我的路徑是E:\Android_NDK

③ 在home\<你的用戶名>\.bash_profile 文件中最后添加環(huán)境變量 :打開(kāi)E:\cygwin\etc\skel目錄,找到 .bash_profile 文件 ,拷貝到 home\<你的用戶名>\ (此處為E:\cygwin\home\Administrator)下面,在 最后添加環(huán)境變量

NDK=/cygdrive/<你的盤符>/

export NDK

我的:NDK=/cygdrive/E/Android_NDK/android-ndk-r5

export NDK

其中"NDK"這個(gè)名字隨便起,因?yàn)楹竺嬉媒?jīng)常使用,建議不要太長(zhǎng)。

重啟cygwin,輸入cd $NDK進(jìn)入對(duì)應(yīng)目錄,就成功了。

注意:添加時(shí)用UltraEdit打開(kāi)添加,如果是中文OS 使用記事本或者寫字板打開(kāi)編輯后,重新啟動(dòng)Cygwin 會(huì)報(bào)錯(cuò)??梢园凑障聢D方式轉(zhuǎn)換:

#p#二、 JNI實(shí)例

1、 安裝成功后編譯NDK中的一個(gè)例子命令行:

編譯完成后在E:\Android_NDK\android-ndk-r5\samples\hello-gl2文件夾中會(huì)生成一個(gè)文件夾libs,里面有一個(gè)子文件夾armeabi,里面生成libgl2jni.so文件 。

2、 一個(gè)簡(jiǎn)單的JNI例子

下面用一個(gè)簡(jiǎn)單的例子介紹怎么生成一個(gè).so文件以及在Android項(xiàng)目中怎么調(diào)用.so文件。

 
 
 
 
  1. package com.cn.lhq;     
  2. import android.app.Activity;     
  3. import android.os.Bundle;     
  4. import android.widget.TextView;     
  5. public class JniTest extends Activity {     
  6. /** Called when the activity is first created. */    
  7. @Override    
  8. public void onCreate(Bundle savedInstanceState) {     
  9. super.onCreate(savedInstanceState);     
  10. // setContentView(R.layout.main);     
  11. TextView tv = new TextView(this);     
  12. tv.setText(stringFromJNI());     
  13. setContentView(tv);     
  14. }     
  15. public native String stringFromJNI();     
  16. static {     
  17. System.loadLibrary("MyFirstJNI");     
  18. }     

 

① 首先,用Eclipse建立一個(gè)ANDROID的工程,命名為MyFirstJNI,工程代碼為:

② 制作生成.so文件: 可以通過(guò)獲取以.h文件 來(lái) 獲取函數(shù)申明。打開(kāi)命令行,鍵入cd (這個(gè)路徑是使用Eclipse建立的工程目錄的src的路徑 ,我的是F:\workspace\MyFirstJNI\src ),目的是設(shè)置工程目錄。然后鍵 入: javah -jni com.cn.lhq.JniTest,結(jié)果如果失敗,那就是因?yàn)闆](méi)有把MyFirst.class文件拷貝到 F:\workspace\MyFirstJNI\src \com\ cn\lhq 之下,原因是Eclipse的文件管理機(jī)制會(huì)將.class文件和.java文件分開(kāi)到不同的目錄,解決方法是將F:\workspace\MyFirstJNI\bin\com\cn\lhq的所有.class文件都拷貝到他的目錄下面。再次運(yùn)行javah -jni com.cn.lhq.JniTest即可。然后就可以看到在 F:\workspace\MyFirstJNI\src 下多出了一個(gè)文件:com_cn_lhq_JniTest.h,通過(guò)這個(gè)文件,我們就知道了本地接口的函數(shù)名,于是我們就根據(jù)函數(shù)名寫一個(gè)com_cn_lhq_JniTest.c文件, 代碼如下:

 
 
 
 
  1. #include      
  2. #include      
  3. jstring     
  4. Java_com_cn_lhq_JniTest_stringFromJNI( JNIEnv* env,     
  5. jobject thiz )     
  6. {     
  7. return (*env)->NewStringUTF(env, "Hello from JNI !");     

 

注意 : 這個(gè)函數(shù)的參數(shù)與用javah生成出來(lái)的參數(shù)是不同的,這里只是需要函數(shù)名而已,因?yàn)楹瘮?shù)名必須匹配,否則在模擬器上面跑的時(shí)候會(huì)出錯(cuò),當(dāng)然,如果對(duì)JNI命名規(guī)則熟悉的話可以跳過(guò)javah這步,直接寫一個(gè).c文件。

寫好.c文件之后就開(kāi)始生成 .so 文件了,這時(shí)候需要 用到 ANDROID.MK這個(gè)文件。于是把Eclipse生成的工程目錄剪切,放到NDK目錄的samples目錄之下 (和示例hello-gl2一樣),這個(gè)時(shí)候模仿hello-gl2文件層次結(jié)構(gòu),將MyFirstJNI文件也做成那樣 :在MyFirstJNI文件夾下面新建一個(gè) jni文件夾,把 com_cn_lhq_JniTest.c 剪切到此文件夾中,同時(shí)也拷貝一個(gè) ANDROID.MK 文件到此文件夾,用 UltraEdit打開(kāi) ANDROID.MK 文件進(jìn)行修改,主要修改如下:

LOCAL_MODULE := 工程名

LOCAL_SRC_FILES := .c的文件名(包含擴(kuò)展名)

此例子應(yīng)改為:

LOCAL_MODULE := MyFirstJNI

LOCAL_SRC_FILES := com_cn_lhq_JniTest.c

然后 打開(kāi) cygwin, 進(jìn)入 E:\Android_NDK\android-ndk-r5\samples\MyFirstJNI\jni目錄:

再 輸入$NDK/ndk-build命令,在E:\Android_NDK\android-ndk-r5\samples\MyFirstJNI生成libs文件夾,即生成.so文件:

③ 在eclipse中重新導(dǎo)入生成了.so文件的 MyFirstJNI項(xiàng)目,運(yùn)行效果圖如下:


本文題目:在Windows系統(tǒng)上安裝與使用AndroidNDKr5
鏈接URL:http://m.5511xx.com/article/djpghhe.html