隨着處理器製造工藝的不斷進步,和Android系統的不斷髮展,最近出了arm64-v8a的架構,因爲項目中用到了speex的第三方語音編解碼的動態庫,其餘架構的處理器暫不用說,一切正常,惟獨到arm64-v8a這裏出問題了,在Android5.0 arm64位的手機上使用語音會報錯,關於其餘架構的.so文件編譯再也不贅述,網上都有資料。廢話少說,直接上步驟:android
1.下載android-ndk-r10e-windows-x86_64並解壓,這個支持arm64 -v8a的編譯,以前的版本都不行,我以前用了android-ndk32-r10-windows-x86_64,結果後來編譯的時候報錯Android NDK: NDK Application 'local' targets unknown ABI(s): arm64-v8a 因此要使用最新的。windows
2.能夠直接在Eclipse配置NDK的編譯環境,而沒必要使用Cygwin,項目右鍵-->Properties-->Builder-->New-->選擇Program,Main選項卡里面設置NDK的Location,Browse File System選擇ndk-build.cmd的路徑,Working Directory選擇項目下jni文件夾路徑,這裏選Browse WorkSpace,如圖:架構
切換到Refresh選項卡,選擇以下ui
切換到Build Options選項卡,選擇以下.net
最後別忘記點OK,回到Properties,把當前新建的NDK_Builder Up到最上面blog
這樣,就配置了NDK的編譯環境。ip
3.jni下的Application.mk文件須要修改爲APP_ABI := armeabi armeabi-v7a arm64-v8a ……添加了arm64-v8av8
4.Project選擇Clean或者Build Project均可以自動把jni下的源文件編譯成.so文件。get
以上步驟順利執行事後查看libs目錄,下面的arm64-v8a文件夾下生成了libspeex.so文件。cmd
轉載自:http://blog.csdn.net/xingliuyang/article/details/46710345