天天看點

解決NDK編譯so從C改為C++出現Native method not found錯誤

Android NDK支援C++開發,以前一直用C開發,感覺有些資料類型沒法用,而且C也是面向過程的,是以打算換C++,但是源碼沒變,字尾改為cpp後,出現Native method not found錯誤,如下:

解決NDK編譯so從C改為C++出現Native method not found錯誤

原來是在C++中,必須要include頭檔案,這個頭檔案需要用javah生成,cd到工程目錄的classes目錄下,執行javah -jni 包名+native方法聲明的類名,就在目前目錄下生成了.h檔案

解決NDK編譯so從C改為C++出現Native method not found錯誤
解決NDK編譯so從C改為C++出現Native method not found錯誤

然後在cpp檔案中include這個頭檔案即可。

指令執行如下:

javah -classpath "D:\firefox-download\adt-bundle-windows-x86-20131030\sdk\platforms\android-19\android.jar";bin/classes -d ndk -jni com.ss.androidserver.MainActivity
           

生成成功

繼續閱讀