2014-02-19 84 views

回答

5

您可以在任何設備上使用任何Android應用程序的JNI。

JNI提供了一個GetVersion調用。您還可以指定最低版本作爲JNI_OnLoad的返回值或作爲AttachCurrentThread的參數。

老版本的Android支持1.4。較新的版本支持1.6。

與往常一樣,最好從JNI Tips頁開始。

+0

任何** Android **設備。顯然應用程序翻譯/重新包裝黑莓做了一段時間來導入Android應用程序不支持JNI。此外,由於Android運行在各種ABI上,JNI只能在與設備的ABI兼容的庫提供的情況下使用。 –

+0

檢索JNI版本不會有太大的幫助。在某種程度上,你告訴事情是否有效的方式是嘗試這件事,看看它是否有效。 :-)希望該應用程序根本就不會安裝在它缺少必要的.so二進制文件或其中的.so根本無法工作的設備上,但我認爲這確實依賴於通過體面的應用程序安裝的應用程序商店。 – fadden

+0

嗨fadden,你回答,JNI版本支持可以不同幫助我解決問題。如果從JNI_OnLoad支持版本,我也可以使用GetEnv函數,它將返回JNI_OK。當然,如果可以從艙單本身檢測到這種支持,真正的問題就會降低!因爲它會顯示應用程序不支持某些手機(例如來自谷歌Play商店)。 –