程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android 4 0-關於JNI,為什麼在android 4.4運行正常的程序,在4.0上運行就報錯了

android 4 0-關於JNI,為什麼在android 4.4運行正常的程序,在4.0上運行就報錯了

編輯:編程綜合問答
關於JNI,為什麼在android 4.4運行正常的程序,在4.0上運行就報錯了

事情是這樣的:
本身項目是基於android 4.4.2、JDK1.7 編譯的,然後公司要求最低版本。
然後我將項目改成了android 2.3.3、JDK1.6編譯,修改一些內容後,編譯通過,在android 4.4.2的手機上運行正常。
但是現在市場部反應,在低於4.1.X的版本上運行還是有問題,因此我找來一台android 4.0.4內核的手機調試,確實報錯了,在JNI模塊。
報:UnsatisfiedLinkError,找不到調用的那個Native對應在C中的方法,現在我該怎麼辦?
android 4.4.x和android4.1.x在JNI上面有什麼改變?
既然我程序在4.4.2運行成功,證明代碼上沒有問題,編譯也沒有問題,那麼問題到底出在哪裡??

最佳回答:


這個問題我才解決掉,原因是因為在Application.mk裡面,多加了一個APP_STL := stlport_shared,然而這個stlport_shared是空的,也不知道他們當時拿來做什麼,就是因為這個為空,導致我的主so加載失敗,也導致了這個問題。
經過這個問題,讓我學到了要認真看每一句log,因為它們真的非常有用!!如果我早點看到那句log,這些問題都不會發生了。而且對jni這塊不熟悉,也是導致拖了那麼久的原因。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved