I hope to use the Apache Commons VFS library in my Android project and download the appropriate files from http://commons.apache.org/vfs/download_vfs.cgi . But. I'm having some problems.
I copied the commons-vfs2-2.0.jar file to the / libs / subdirectory of my Android project and referenced it in the Java build path in Eclipse. I also referred to the Commons Logging library, which is used by Commons VFS (http://commons.apache.org/vfs/download.html).
Everything compiles fine, but as soon as I try the next line of code
FileSystemManager fsManager = VFS.getManager();
I get an exception. Here's the stack trace:
02-06 16:22:29.724: ERROR/Fatal Error(20515): Could not create a file system manager of class "org.apache.commons.vfs2.impl.StandardFileSystemManager". 02-06 16:22:29.724: ERROR/Fatal Error(20515): org.apache.commons.vfs2.FileSystemException: Could not create a file system manager of class "org.apache.commons.vfs2.impl.StandardFileSystemManager". 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.VFS.createManager(VFS.java:99) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.VFS.getManager(VFS.java:50) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at gymApp.gymAppPackage.Utility.test(Utility.java:391) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at gymApp.gymAppPackage.HomeActivity.onCreate(HomeActivity.java:51) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2466) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.ActivityThread.access$2200(ActivityThread.java:123) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.os.Handler.dispatchMessage(Handler.java:99) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.os.Looper.loop(Looper.java:123) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at android.app.ActivityThread.main(ActivityThread.java:4370) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.reflect.Method.invokeNative(Native Method) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.reflect.Method.invoke(Method.java:521) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at dalvik.system.NativeStart.main(Native Method) 02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: org.apache.commons.vfs2.FileSystemException: Could not load VFS configuration from "jar:file:/data/app/gymApp.gymAppPackage.apk!/org/apache/commons/vfs2/impl/providers.xml". 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:199) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.init(StandardFileSystemManager.java:123) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.reflect.Method.invokeNative(Native Method) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.reflect.Method.invoke(Method.java:521) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.VFS.createManager(VFS.java:88) 02-06 16:22:29.724: ERROR/Fatal Error(20515): ... 16 more 02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: org.apache.commons.vfs2.FileSystemException: Could not create file provider of class "org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider". 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.createInstance(StandardFileSystemManager.java:490) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.addProvider(StandardFileSystemManager.java:371) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:270) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:195) 02-06 16:22:29.724: ERROR/Fatal Error(20515): ... 20 more 02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: java.lang.ClassNotFoundException: org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider in loader dalvik.system.PathClassLoader@400264d8 02-06 16:22:29.724: ERROR/Fatal Error(20515): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 02-06 16:22:29.724: ERROR/Fatal Error(20515): at org.apache.commons.vfs2.impl.StandardFileSystemManager.createInstance(StandardFileSystemManager.java:485) 02-06 16:22:29.724: ERROR/Fatal Error(20515): ... 23 more
It seems that something basic is wrong with the installation, but I'm not sure if it is (Java is not my first language;). Is there anything special that needs to be done, given that this is an Android project? Any pointers would be much appreciated.
source share