簡體   English   中英

android JNI加載mupdf(用NDK編譯?)

[英]android JNI loading mupdf (compile with NDK?)

我正在創建一個Android Xoom應用程序,該應用程序在其中一個活動中顯示pdf。

我已經下載了mupdf源文件:mupdf.c,Android.mk,Application.mk,Core.mk和ThirdParty.mk。

我也去過mupdf.com網站並嘗試從這里下載各種預編譯的軟件包: http ://ccxvii.net/mupdf/download/

我剛剛從iPhone切換到Android,並且有一些關於包含C代碼的東西需要學習。 我將mk / c文件放入/ jni /我的項目中。 我還試圖將我從上面網站上下載的預編譯文件復制到項目中的/ jni /。

我有一個簡單的課程:

import android.graphics.*;

    public class PDFView {  
        static {
            System.loadLibrary("mupdf");
        }
    }

每次我創建這個類的實例時,應用程序崩潰並在LogCat中顯示“ExceptionInInitializerError”以及“無法加載mupdf:findLibrary返回null”。

我還下載了android NDK,並嘗試自己編譯源代碼。 我得到一個缺少mupdf.h錯誤和fitz.h錯誤。 只是一整個錯誤列表,這似乎包含一個庫過於復雜。

我在Snow Leopard的Mac上工作。 我認為我在正確的道路上需要將其編譯為二進制文件,但是花了這么多時間學習NDK然后它將無法編譯真的很令人沮喪。 也許我需要一個更新的來源。

誰能幫助我指出正確的方向?

您需要在Android.mk中正確設置包含路徑

請發布您的Android.mk以獲得更多幫助,盡管在此期間您可以嘗試借用NDK 樣本 ,這些樣本包含在您的NDK文件夾中。

首先嘗試將它們構建為完整性檢查,然后查看jni / Android.mk以查看它們的makefile是如何設置的。

NDK中的docs目錄還包含有關Android.mk文件的精彩文檔。

老實說,除非你有經驗,否則很難使用NDK。了解make,gcc和ld的來龍去脈是至關重要的。

編輯 - 為了使這個過程更容易,我將克隆mupdf git存儲庫。 實際上有一個Android項目准備建立。

確保使用git進行克隆,因為您希望擁有所有必需的文件。 自述文件有關於構建的簡單說明。 似乎首先要讓它工作並從那里調整它可能會為您提供更可靠的開發路徑。

我已經能夠為Android構建mupdf庫。 我同意保羅的意見,我不得不做一點修修補補才能讓它發揮作用。 您應該能夠通過微小的更改來修復這些錯誤。 您應該關注的是確保所有不同的第三方源文件夾的路徑存在且正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM