0

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.

Blundell
  • 75,855
  • 30
  • 208
  • 233
  • For my own benefit. `.jar` are Java librarys. `.so` appear to be C libraries, so if you 'build' the project like the wiki says all you need to do is add the `.so` files into the `/libs` folder. – Blundell Apr 09 '12 at 14:33

1 Answers1

2

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!

Blundell
  • 75,855
  • 30
  • 208
  • 233