我的Android應用程序崩潰,當我使用的Android NDK JNI調用LoadLibrary轟然
static {
system.LoadLibrary("MySharedLib");
}
這是唯一明顯的錯誤消息,我得到:
無法寫入堆棧跟蹤到/ data/ANR /traces.txt(6767的5571):沒有這樣的文件或目錄
libMySharedLib.so是從ndk-build生成的。我正在使用powerVR SDK,因此我假設這個lib在內部事先被加載。
如果我將我的代碼分隔到不同的共享庫中,但能夠達到我需要的目的(所有數據,指針都存在於MySharedLib中,並且我想從Java調用C++函數) 。
用zip文件工具打開apk並驗證.so是否存在。然後發佈失敗的logcat日誌 –
如果你正在尋找建立一個單獨的lib.so文件,並在你的主lib.so中使用它,那麼這個答案可能有助於步驟。 http://stackoverflow.com/questions/10593987/android-ndk-linking/10615769#10615769 – codetiger
我有一個類似的問題http://stackoverflow.com/questions/11003506/library-file-not-loading-in- 2-3-but-loading-in-4-0奇怪地嘗試以下操作讓我運行apk 1)從另一臺機器重新生成apk並在出現錯誤的設備上運行 –