国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

編譯Hello JNI的詳細(xì)步驟

在Android NDK的快速更新下,許多例子程序文檔并沒有同步更新,導(dǎo)致很多人在嘗試運(yùn)行第一個(gè)NDK程序"hellojni"時(shí)遇到困難。本文將記錄在android-ndk-r9d版本下編譯"hell

在Android NDK的快速更新下,許多例子程序文檔并沒有同步更新,導(dǎo)致很多人在嘗試運(yùn)行第一個(gè)NDK程序"hellojni"時(shí)遇到困難。本文將記錄在android-ndk-r9d版本下編譯"hellojni"的流程,并希望對(duì)大家有所幫助。

配置Android NDK環(huán)境

如果尚未配置Android NDK環(huán)境,可以參考“Android NDK r8/r9環(huán)境配置”文章。需要注意的是,此教程僅適用于NDK r9版本存在的特定bug,如果使用r10版本,則無需按照此操作方法進(jìn)行。

在Eclipse中導(dǎo)入項(xiàng)目

打開Eclipse,選擇菜單"File -> New -> Other...",然后選擇“Android -> Android Project from Existing Code”,點(diǎn)擊Next。接著,瀏覽并選擇NDK根目錄下的samples中的hello-jni項(xiàng)目,并取消選中“Copy projects into workspace”。最后,在工程上右鍵,選擇“Android Tools -> Add Native Support”。

解決報(bào)錯(cuò)并編譯項(xiàng)目

打開項(xiàng)目文件“hellojni/jni/hello-jni.c”,若出現(xiàn)報(bào)錯(cuò)“Method 'NewStringUTF' could not be resolved”,解決方法如下:將文件名由“hello-jni.c”改為“hello-jni.cpp”;在函數(shù)“Java_com_example_hellojni_HelloJni_stringFromJNI”的最前面加上“extern C”;修改函數(shù)中的代碼。同時(shí),需修改文件中的文件引用方式為.cpp格式。完成后,點(diǎn)擊工具欄上的“Build All”按鈕進(jìn)行編譯。

調(diào)試和運(yùn)行項(xiàng)目

在項(xiàng)目上右鍵,選擇“Debug As -> Android Native Application”。若出現(xiàn)“Unable to resolve target 'android-3'”錯(cuò)誤,需要修改AndroidManifest.xml文件中的Min SDK Version和Target SDK Version為19。另外,若提示“Avoid hardcoding the debug mode”,需在Application Attributes中將Debuggable屬性中的true清除。最后再次右鍵點(diǎn)擊“Debug As -> Android Native Application”即可成功運(yùn)行Hello JNI項(xiàng)目。

通過以上步驟,您將成功編譯并運(yùn)行Hello JNI項(xiàng)目。如仍有疑問,歡迎留言交流。

標(biāo)簽: