Android開發人員都需要的NDK入門項目實戰(1)

來源:互聯網
上載者:User

本文我們一起聊一聊如何利用利用NDK產生SO庫,使用SO庫進行JNI調用,在Android sdcard建立檔案並寫入資料。

工具:

NDK1.5 R1, android SDK1.5 R1, SDCARD, Eclipse , ADT 0.9, Eclipse Galileo for C/C++, Cygwin 1.5。

工具比較多,我是在Windows XP進行操作的,如果在Ubuntu或者其他的Linux系統下進行操作直接進入步驟2即可。請看步驟:

1. 安裝Cygwin

關於Cygwin的安裝請自行百度或者google,因為網速原因,建議大家使用本地安裝包進行下載:http://www.gougou.com/search?search=cygwin&id=2 下載一個38.2M 即可,我用的就是這個版本。

2. 安裝NDK

進入正題安裝NDK,首先開啟cygwin,然後使用cd命令進入你的NDK根目錄,不會用linux命令??Google去),然後運行:build/host-setup.sh

 

如果出現以上的資訊,說明安裝正確,如果出現GCC為找到,請輸入gcc命令查看,如果出現toolchain未找到的資訊,請試著修改build/host-setup.sh檔案第一行代碼,將:#!/bin/sh 改成#!/bin/bash, 在Ubuntu上這個是需要修改的

安裝成後,我們使用make命令試試編譯內建的程式,輸入make APP=hello-jni,hello-jni為apps下hello-jni檔案夾的名稱,這個命令會先找到apps\hello-jni下地 Application.mk檔案,然後找到source\samples\hello-jni這個目錄,然後找到Android.mk這個檔案中的配置 資訊進行編譯。看圖:

因為我的已經編譯過了,使用 make APP=hello-jni -B進行重新編譯

 

出現上面的資訊,說明編譯成功,so檔案在apps/hello-jni/project/libs/armeabi檔案夾下。

3. 書寫java native介面

下面我們進入實戰的階段,寫代碼。

建立一個android1.5的項目,NDK不支援1.5以下的版本

JNI.java的代碼:

 

JniTest.java的代碼:

4. 產生JNI 標頭檔

下面產生JNI標頭檔啦,使用javah命令,對JNI..java這個檔案產生,別搞錯啦!

使用cmd進入android項目的bin目錄中,然後執行 javah -classpath .  -jni cc.androidos.jni.JNI這個命令。別忘記包名!^_^)

 

產生了一個cc_androidos_jni_JNI.h

開啟看看:

 

裡面都是c語言的標頭檔聲明


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.