Pregunta

So I want to view PDFs in my app and I've come across APV PDF, but I just can't understand the instructions on how to use it

http://code.google.com/p/apv/wiki/Building

Why isn't it a jar library to download?

Why do I have to compile some .so files, why can't I download them?

I browsed the source and there is a demo application here:

http://code.google.com/p/apv/source/browse/#hg%2Fpdfview

I copied that into eclipse as an Android project and it compiles but I get an error when I run and select a PDF in the compiled app

 java.lang.UnsatisfiedLinkError: parseFile

I understand this has something to do with what I've asked above, so hopefully I'll get some answers.

This probably has something to do with the NDK which I have no experience with.

¿Fue útil?

Solución

My mind has been expanded!

1) You can't have a Jar as this is C code, so it is going to run in the NDK therefore the equivalent is a .so file.

2) I don't know why they don't let you just download an .so file (as well as having the source), but it seems this project is just a starter project i.e. you are expected to take the source and modify it. Therefore if you just had a .so file you could not do this. Each time you change the source code in /jni/pdfview2 you have to rerun the script build-native.sh and that will recreate your library (.so) files for you!

I was getting the UnsatisfiedLinkError as the .so library I was using was built against a different version of the code than that which the Java file was trying to reference. Therefore my link was un-satisfied!

Hazar!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top