android-----JNI学习 helloworld
轉(zhuǎn)至:http://blog.csdn.net/yf210yf/article/details/9264587
(1)新建android工程
(2)添加NDK路徑
(3)添加本地支持
給本地庫(kù)起名
此時(shí)工程目錄下會(huì)自動(dòng)生成jni文件夾
此時(shí)Makefile也自動(dòng)生成
[cpp]?view plaincopyprint?
(4)編寫(xiě)準(zhǔn)備生成本地庫(kù)的 cpp文件
[cpp]?view plaincopyprint?
注意
Java_com_snail_hello_MainActivity_myhello
Java ? ? ? ? ? ? ? ? ? ? ? ? ? ? 為固定的
com_snail_helloworld? 為包名
MainActivity ? ? ? ? ? ? ??? 為Activity名稱(chēng)
myhello ? ? ? ? ? ? ? ? ? ? ?? 為上層調(diào)用的函數(shù)名
這幾個(gè)命名一定要對(duì)應(yīng),否則上層調(diào)用會(huì)出現(xiàn)錯(cuò)誤:
“java.lang.UnsatisfiedLinkError: Native method not found”
(5)編譯本地cpp生成庫(kù)文件
?在cmd下進(jìn)入工程目錄:
?執(zhí)行 ndk-build 進(jìn)行編譯(前提是NDK路徑已經(jīng)加入到Path環(huán)境變量中)
(6)在Activity中調(diào)用本地函數(shù)庫(kù)
[cpp]?view plaincopyprint?
運(yùn)行:
調(diào)用成功!
附錄:
ndk-build的選項(xiàng)
所有給ndk-build的選項(xiàng)都會(huì)直接傳給GNU Make,由make運(yùn)行NDK的編譯腳本。幾個(gè)常見(jiàn)調(diào)用方式如下:
ndk-build 編譯
ndk-build clean 清掉二進(jìn)制文件
ndk-build NDK_DEBUG=1 編譯為可調(diào)試版的二進(jìn)制文件
ndk-build NDK_DEBUG=0 編譯為release版
ndk-build V=1 執(zhí)行ndk-build且打印出它所執(zhí)行的詳細(xì)編譯命令。
ndk-build -B 強(qiáng)制重新編譯
ndk-build -B V=1 -B 和 V=1 的組合
ndk-build NDK_LOG=1 打印出內(nèi)部的NDK日志信息(用于調(diào)試NDK自己)
ndk-build NDK_APP_APPLICATION_MK=<文件路徑> 用這里指定的路徑尋找Application.mk文件
ndk-build -C <project路徑> 先cd進(jìn)入<project路徑>,然后執(zhí)行ndk-build。
(2)官方參考
http://permadi.com/blog/2011/09/creating-your-first-android-jnindk-project-in-eclipse-with-sequoyah/
?
(3)其他參考
http://cherishlc.iteye.com/blog/1756762
總結(jié)
以上是生活随笔為你收集整理的android-----JNI学习 helloworld的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android--系统jar包引用
- 下一篇: eclipse 工程目录下 删除不掉目录