天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

NDK入門項目實戰

  目標:利用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.書寫C代碼,寫入數據

  下面進行c 語言代碼的階段,不會 C 的,可以去學習一下。我這里使用eclipse for c/c++的進行開發,簡單的代碼大家可以使用記事本。工程如下:


  cc_Androidos_jni_JNI.h內容不變,cc_Androidos_jni_JNI.c的內容:

  在這里的代碼會在運行的時候向sdcard 寫入 Androidos.cc.txt 文件。然后寫入 aaaa 數據。

  6.編譯SO文件

  進行編譯so 文件,在NDK 的 apps 目錄下面創建一個 myjni 文件夾,在 myjni 文件夾中創建一個 Application.mk 文件,文件的內容為:

  在NDKsources 目錄下創建 myjni 文件夾,在 myjni 文件中創建一個 Android.mk 文件,然后將 cc_Androidos_jni_JNI.h 和 cc_Androidos_jni_JNI.c 文件 copy進來:

  Android.mk中的內容如下:

  里面內容的關鍵字含義請自行查看docs/OVERVIEW.TXT 文件,編譯:

  7. 加入到Android項目中進行運行

  將apps/myjni/libs 整個文件夾 copy到 Android 項目下:


  運行Android 項目使用 adb shell 進行查看:

  進入sdcard 查看數據。

  注意:sdcard 具有 system 的權限,如果你的目錄是 root 權限的,那么是不能寫成功的,除非是真機越權,模擬器是不成功的,并且在 Eclipse logcat 下會有 DEBUG 信息出現。

it知識庫NDK入門項目實戰,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产成+人+综合+亚洲不卡 | 迈开腿让我看下你的小草莓声音 | 国产亚洲精品AAAAAAA片 | 九九在线精品视频 | 人曽交Z00Z0OA片 | 沟沟人体一区二区 | 欧美白人极品性喷潮 | 99久久精品费精品国产一区二 | wwwxxc| 国产自产视频在线观看香蕉 | 久久99r66热这里有精品 | 超碰97人人做人人爱亚洲尤物 | 精品亚洲欧美中文字幕在线看 | 国产成人a在一区线观看高清 | 亚洲一品AV片观看五月色婷婷 | 我的好妈妈8高清在线观看WWW | 窝窝影院午夜看片毛片 | 伊人香蕉在线播放视频免费 | 九九大香尹人视频免费 | 狠狠色狠狠色综合日日小说 | 无人影院在线播放 | 久久热这里面只有精品 | 中文字幕不卡一区二区三区 | 国产亚洲美女精品久久久2020 | 无码一区国产欧美在线资源 | 无人在线观看免费高清视频播放 | 久久亚洲欧美国产综合 | 野花日本大全免费观看3中文版 | 国产伦精品一区二区三区精品 | 欧美高清 videos sexo | 亚洲视频在线观看不卡 | 女bbbbxxx孕妇| 国产亚洲欧美高清在线 | 蜜臀AV人妻久久无码精品麻豆 | 色精品极品国产在线视频 | 婬香婬色天天视频 | 男女边吃奶边做边爱视频 | 囚禁固定在调教椅上扩张H 秋霞最新高清无码鲁丝片 秋霞在线看片无码免费 | 久久综久久美利坚合众国 | 国产精品久久久久久熟妇吹潮软件 | 依人在线观看 |