2011-03-18 54 views
3

我能夠爲android(libmupdf.so)構建mupdf庫,並且它在仿真器上工作。我使用了ndk:android-ndk-r5b & android-ndk-r4b,兩者都可以正常工作。編譯的JNI庫(libmupdf.so),適用於Android 2.2和Android模擬器,但在Android 2.1上失敗

我有一個應用程序。即調用mupdf庫來讀取PDF &將其保存爲JPG文件到SD卡。

也能正常工作的仿真器(二者2.1和2.2)以及上Android 2.2的設備API級別8(LG的Optimus)。

然而,在三星Galaxy S(的Android 2.1 UPDATE1 API 7級),應用程序安裝正常,但在運行時,我得到了錯誤:

ERROR/AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: Library mupdf not found

我已經嘗試建設帶有ndk-r5b的庫以及prev。版本 - ndk-r4,ndk-3和ndk-r4b。人們似乎沒有變化:(

上什麼可能導致錯誤的任何想法?!?!任何建議/幫助表示讚賞。

+0

hii @Roy Samuel我在製作libmupdf.so文件時遇到了一個問題,它在編譯CMD D代碼時出錯:/android-ndk-r8/mupdf-1.0-source/android//jni/mupdf .c:195:error:'ctm'undecl ared(首次在此函數中使用) D:/android-ndk-r8/mupdf-1.0-source/android//jni/mupdf.c:195:error:' currentMedi abox'未申報(首次使用此功能)可以幫助我解決這個錯誤。謝謝 – 2012-05-25 07:43:52

+0

我想你沒有包含mupdf的所有依賴頭文件。瀏覽項目src,確定包含所有頭文件。這是我能看到這個錯誤的唯一原因。 – 2012-05-28 04:35:00

+0

但是我可以從Mupdf網站上下載項目,那麼如果有的話可能會丟失一些文件,那麼你能否向我建議我從哪裏得到完整代碼的好教程。 – 2012-05-28 06:21:19

回答

0

The mupdf build file - Android.mk included a library 'jnigraphics' which is not required.

Linking this library and running on Android 2.2 device or the emulator (2.2 or 2.1) does not cause any problems. However, if this library is included and then run on an Android 2.1 device, (I used a Galaxy SI9000 Android 2.1-update1) causes an Android runtime error, 'Library mupdf not found'.

在Android.mk文件中,有一個鏈接的庫,名爲 - 'libjnigraphics'。刪除引用後,我能夠爲Galaxy SI9000 Android 2.1-update1構建。

+0

嗨。我陷入了同樣的情況。你能幫助我如何刪除參考。我不知道如何。我刪除了Android.mk中的這一行,但它仍然在2.1上崩潰,未找到庫但在2.2上完美運行 – 2012-05-30 12:59:19

3

有在Dalvik JNI Tips文檔中的一些建議。首先要做的是看看例外上面的logcat的輸出,看看是否有一個dlopen()的診斷

+0

謝謝fadden。 :) – 2011-03-21 02:07:10

+0

您的鏈接不能正常工作 – joao2fast4u 2014-09-11 11:06:46

+0

哎呦,幾年前就爆發了。該文檔現在位於Android開發人員網站上。鏈接已更新。 – fadden 2014-09-11 15:41:13

0

的mupdf構建文件 - Android.mk包括不要求對圖書館jnigraphics「

鏈接這個庫。並在Android 2.2設備或仿真器上運行(2.2或2.1)不會造成任何問題但是,如果包含此庫,然後在Android 2.1設備上運行(我使用的是Galaxy SI9000 Android 2.1-update1)會導致Android運行時錯誤,即'找不到'庫mupdf'。

+0

嗨,你能幫我嗎我無法編譯mupdf庫 – ingsaurabh 2011-04-18 07:37:11

+0

嗨TOX1C,你卡在哪裏?給我一個適當的描述你的問題,我可以嘗試幫助你。 – 2011-04-25 07:23:32

+0

嗨羅伊謝謝,我解決了這個問題,併成功地編譯了庫,但那裏顯示PDF的小工具是非常不專業的,它在碰觸事件我想知道你用他們的默認視圖或創建一個自定義的 – ingsaurabh 2011-04-25 07:27:31

0

我在Android 2.1-update1設備(特別是三星Galaxy I9000)上使用android-ndk-r5b加載JNI庫時出現問題,在Android 2.2/2.3上它工作正常。使用android-ndk-r7給了我一些編譯問題,但是在我將NDK更新到版本android-ndk-r5c之後 - 我的本機庫在Android 2.1-update1/2.2/2.3設備上完美工作。

相關問題