Android Studio 自動生成JNI接口C/C++頭文件

在安卓JNI編程中,手動寫代碼讓原生函數(shù)及參數(shù)列表域Java類文件的原始定義一致是一件繁瑣的工作。我們可以利用JDK中的javah的命令行工具為原生方法解析java類文件并生成由原生方法聲明組成的頭文件。

1.添加外部工具命令。

  • 點擊菜單欄中File按鈕,選擇Settings>>Tools>>External Tools。
添加外部工具命令
添加外部工具命令
  • 填寫工具名稱,工具分組和工具功能描述。
  • 點擊程序路徑文本框后的Inser Macros 按鈕指定命令的路徑。
指定程序命令的路徑
  • 指明外部命令行工具名稱。
指明外部命令行工具名稱
  • 指定執(zhí)行命令行工具需要的各類參數(shù)。
指明參數(shù)
  • 設置工作路徑
設置工作路徑.png

完整命令

$JDKPath$\bin\javah -d src/main/cpp -classpath F:\Android\sdk\extras\android\m2repository\com\android\support\appcompat-v7\26.0.0-alpha1\appcompat-v7-26.0.0-alpha1-sources.jar;$OutputPath$;$ModuleSdkPath$\platforms\android-25\android.jar $FileClass$
  • $JDKPath$\bin\javah

命令行工具的路徑

  • -d

指明生成的頭文件所存放的路徑

  • -classpath

指定類和所依賴的架包所存在的路徑

  • $FileClass$

指定的類

2.指定java類文件生成JNI接口C/C++頭文件

  • 創(chuàng)建java類文件,并在類中聲明JNI接口方法。
創(chuàng)建java類文件
  • 工程目錄視圖內(nèi)選中需要生成對應JNI接口C/C++頭文件的java類文件。右鍵選擇External Tools>>Generate C and C++ Header File。
生成JNI接口C/C++頭文件
  • 查看生成的頭文件。
生成的頭文件.png

按著上述步驟進行設置和操作之后我們要在C/C++文件中包含這個文件,并一一實現(xiàn)其中的原生方法。

在編程時,需要注意的是,java 類文件所在的包名路徑必須和原生方法中指定的包名保持一致,不然java無法調(diào)用原生方法。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容