原本前面文章有寫如何簡化外部工具javah來產生jni需要的c語言header file,最近呼叫jni有需要傳入AssetManagrt,原本的參數沒有傳入java 的AssetManager classes的原型因此會遇到Error: Cannot determine signature for AssetManager的錯誤,這時候在之前寫的javah引用參數 "-v -jni -d $ModuleFileDir$\src\main\jni $FileClass$"小改一下,把sdk的使用版本內的android.jar給傳入就可以,改寫成"-v -jni -d $ModuleFileDir$\src\main\jni -classpath E:\AndroidSdk\platforms\android-16\android.jar;. $FileClass$",因為我專案設定的minisdk是16,所以我就用android-16的android.jar當成解讀java classes的參數填入,這樣設定好,跑一下設定的javah外部工具,這樣就會產生需要的jni c語言header file了。

arrow
arrow

    大衛的記事 發表在 痞客邦 留言(0) 人氣()