简体   繁体   中英

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.

  1. Downloaded the package from here and unpacked it locally.
  2. 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.
  3. For each .jar , I add in the Source attachment as described here.
  4. 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 alongside Android 2.2 in the Libraries tab.

I start programming, and code completion works fine for the classes/methods/etc. from this library. Import statements 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM