diff options
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Context.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Context.java b/platform/java/src/com/artifex/mupdf/fitz/Context.java index 3ee91822..60de22e6 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Context.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Context.java @@ -21,16 +21,30 @@ public class Context } } - private static String getLibraryName(void) { + private static String getLibraryName() { /* Mac OS always uses 64bit DLLs for any JDK 1.7 or above */ if (System.getProperty("os.name").toLowerCase().contains("mac os")) { return "mupdf_java64"; } + /* Sun and OpenJDK JVMs support this way of finding bittedness */ String val = System.getProperty("sun.arch.data.model"); - if (val != null && val.equals("32")) { - return "mupdf_java32" + /* Android does NOT support this, and returns NULL */ + if (val != null && val.equals("64")) { + return "mupdf_java64"; } - return "mupdf_java64"; + + /* We might be running Android here. We could find out by + * doing the following test: + * val = System.getProperty("java.vm.name"); + * if (val != null && val.toLowerCase().contains("dalvik")) { + * ...Do something Androidy to test for 32/64 here... + * } + * (Currently, both Dalvik and ART return 'Dalvik'). + * We know of no portable way to detect 32 or 64bittedness + * on android though, so for now will assume 32. + */ + + return "mupdf_java32"; } static { init(); } |