Java (Android) - class not found exception
I'm trying to do some simple FTP stuff in Android. After researching a little bit, I decided to go with the apache-commons-net. Here are the steps I took to get it working under Eclipse.
- Downloaded the package from here and unpacked it locally.
- In Eclipse, to add this new library, I go to (Window >) Preferences > Java > Build Path > User Libraries, click New, name it
apache-commons-net
, then Add JARs... to it by picking the .jar files that came in the download. - For each .jar, I add in the Source attachment as described here.
- Once this is done, I right-click my project and choose Properties > Java Build Path > Libraries, click Add Library... > User Library > (Next >) choose
apache-commons-net
> Finish. The library then shows up alongsideAndroid 2.2
in the Libraries tab.
I start programming, and code completion works fine for the classes/methods/etc. from this library. Import stateme开发者_高级运维nts are included, etc. Everything seems to work as it should. The problem is, when I run the app, it force closes and my LogCat in Eclipse shows the following error:
Could not find class 'org.apache.commons.net.ftp.FTPClient', referenced from method <...>
... Caused by: java.lang.NoClassDefFoundError: org.apache.commons.net.ftp.FTPClient
It seems like I've set everything up correctly, so why is the execution complaining that it can't find the class???
Any ideas or help is greatly appreciated.
- Ian
You need to copy the jar(s) to the libs
directory in the project. The ADK picks the libraries from that folder and convert them into classes optimized for Dalvik.
Edit
There might be some more information in this question: Importing external .jar file to Android project
精彩评论