比方說,我甲肝:何時重新編譯JNI綁定和客戶端代碼?
- C庫
libfoo
, - JNI綁定的包
org.foo.jni
到libfoo
,並 - 一個客戶端代碼包
com.user.of.foo
。
顯然,如果org.foo.jni
觸摸在libfoo
變化,我需要重新編譯在org.foo.jni
類的功能。而且,很明顯,如果com.user.of.foo
涉及org.foo.jni
更改的方法,我需要重新編譯com.user.of.foo
中的類。但是......
- 如果我改變
libfoo
修復錯誤,但不改變接口,我必須重新編譯org.foo.jni
類? - 如果我將界面更改爲
libfoo
,但僅限於未從org.foo.jni
調用的函數,是否必須重新編譯org.foo.jni
中的類? - 如果由於
libfoo
中的某些更改而導致org.foo.jni
中的類重新編譯,但不要將界面更改爲org.foo.jni
,那麼是否需要重新編譯com.user.of.foo
中的類?