Einbinden von MuPDF als Bibliotheksprojekt (Android)

 C Programming >> C-Programmierung >  >> Tags >> PDF
Einbinden von MuPDF als Bibliotheksprojekt (Android)


Also habe ich dieses Projekt basierend auf einem PDF-Reader (MuPDF) erstellt. Ich habe dafür ndk-build verwendet. Der Name dieses Projekts ist ChoosePDFActivity. Ich weiß, dass es korrekt gebaut wurde, weil ich eine .so-Datei in meiner libs/armrabi-v7a/THISISTTHEFILE.so sehen kann .
Meine Frage ist, wie mache ich dieses Projekt korrekt zu einem Bibliotheksprojekt und führe es von einem anderen Projekt aus aus?


Ich habe versucht, es als Bibliotheksprojekt zu markieren und es dem Erstellungspfad meines Hauptprojekts hinzuzufügen, aber ich bekomme


Beachten Sie, dass ich Mupdf-1.5 verwende (derzeit das neueste)



Also was mache ich ?


der Name meiner Bibliothek ist libmupdf.
Hinweis, ich bin neu bei Android-ndk. Ich habe keinen JNI-Ordner in meinem Hauptprojekt, nur im Bibliotheksprojekt.
Dies ist der vollständige Fehler.



Bitte helfen Sie mir, es bringt mich für ein paar Tage um. Vielen Dank im Voraus.


das ist mein Android.mk:


LOCAL_PATH := $(call my-dir)
TOP_LOCAL_PATH := $(LOCAL_PATH)
MUPDF_ROOT := ../..
ifdef NDK_PROFILER
include android-ndk-profiler.mk
endif
include $(TOP_LOCAL_PATH)/Core.mk
include $(TOP_LOCAL_PATH)/ThirdParty.mk
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := \
jni/andprof \
$(MUPDF_ROOT)/include \
$(MUPDF_ROOT)/source/fitz \
$(MUPDF_ROOT)/source/pdf
LOCAL_CFLAGS :=
LOCAL_MODULE := mupdf
LOCAL_SRC_FILES := mupdf.c
LOCAL_STATIC_LIBRARIES := mupdfcore mupdfthirdparty
ifdef NDK_PROFILER
LOCAL_CFLAGS += -pg -DNDK_PROFILER
LOCAL_STATIC_LIBRARIES += andprof
else
endif
LOCAL_LDLIBS := -lm -llog -ljnigraphics
ifdef SSL_BUILD
LOCAL_LDLIBS += -L$(MUPDF_ROOT)/thirdparty/openssl/android -lcrypto -lssl
endif
include $(BUILD_SHARED_LIBRARY)

Hier ist eine Momentaufnahme meiner Projekte. Es gibt zwei hervorgehobene Projekte, über die gesprochen wird, wobei ChoosePDFActivity das Bibliotheksprojekt ist.
,
Okay, so etwas wird in meinem Fall funktionieren :
Ist es möglich, ein ganzes Projekt in meinem endgültigen Build zu haben? Ich muss nur EINEN Intent von meinem Hauptprojekt an ihn übergeben, und alles andere wird von ChoosePdf erledigt...
Projekt.


P.S.
Mir ist aufgefallen, dass es nur armeabi-v7a gibt. Gibt es also eine Möglichkeit, mupdf auch für andere Architekturen zu erstellen


BEARBEITEN
Für diejenigen, die PDF-Rendering in Android haben möchten, hat Android L (endlich) die APIs, um natives PDF-Rendering zu ermöglichen.



No