android - NoClassDefFoundError with PDFViewer -


i'm trying implement pdf viewer, application comes detect pdfs stored in sd card, can see in image. http://img225.imageshack.us/img225/3852/pdfs.png

but when click on file view it... error.

this logcat:

06-28 07:32:46.963: warn/dalvikvm(330): unable resolve superclass of lcom/example/trypdf/second; (496) 06-28 07:32:46.983: warn/dalvikvm(330): link of class 'lcom/example/trypdf/second;' failed 06-28 07:32:46.983: error/dalvikvm(330): not find class 'com.example.trypdf.second', referenced method com.example.trypdf.pdfvieweractivity.openpdfintent 06-28 07:32:47.013: warn/dalvikvm(330): vfy: unable resolve const-class 419 (lcom/example/trypdf/second;) in lcom/example/trypdf/pdfvieweractivity; 06-28 07:32:47.013: debug/dalvikvm(330): vfy: replacing opcode 0x1c @ 0x0002 06-28 07:32:47.013: debug/dalvikvm(330): vfy: dead code 0x0004-000e in lcom/example/trypdf/pdfvieweractivity;.openpdfintent (ljava/lang/string;)v 06-28 07:32:47.373: info/activitymanager(59): displayed activity com.example.trypdf/.pdfvieweractivity: 1665 ms (total 1665 ms) 06-28 07:32:52.593: debug/dalvikvm(131): gc_explicit freed 1336 objects / 74064 bytes in 149ms 06-28 07:33:28.634: debug/sntpclient(59): request time failed: java.net.socketexception: address family not supported protocol 06-28 07:33:55.655: debug/androidruntime(330): shutting down vm 06-28 07:33:55.663: warn/dalvikvm(330): threadid=1: thread exiting uncaught exception (group=0x4001d800) 06-28 07:33:55.684: error/androidruntime(330): fatal exception: main 06-28 07:33:55.684: error/androidruntime(330): java.lang.noclassdeffounderror: com.example.trypdf.second 06-28 07:33:55.684: error/androidruntime(330):     @ com.example.trypdf.pdfvieweractivity.openpdfintent(pdfvieweractivity.java:46) 06-28 07:33:55.684: error/androidruntime(330):     @ com.example.trypdf.pdfvieweractivity.onlistitemclick(pdfvieweractivity.java:41) 06-28 07:33:55.684: error/androidruntime(330):     @ android.app.listactivity$2.onitemclick(listactivity.java:321) 06-28 07:33:55.684: error/androidruntime(330):     @ android.widget.adapterview.performitemclick(adapterview.java:284) 06-28 07:33:55.684: error/androidruntime(330):     @ android.widget.listview.performitemclick(listview.java:3382) 06-28 07:33:55.684: error/androidruntime(330):     @ android.widget.abslistview$performclick.run(abslistview.java:1696) 06-28 07:33:55.684: error/androidruntime(330):     @ android.os.handler.handlecallback(handler.java:587) 06-28 07:33:55.684: error/androidruntime(330):     @ android.os.handler.dispatchmessage(handler.java:92) 06-28 07:33:55.684: error/androidruntime(330):     @ android.os.looper.loop(looper.java:123) 06-28 07:33:55.684: error/androidruntime(330):     @ android.app.activitythread.main(activitythread.java:4627) 06-28 07:33:55.684: error/androidruntime(330):     @ java.lang.reflect.method.invokenative(native method) 06-28 07:33:55.684: error/androidruntime(330):     @ java.lang.reflect.method.invoke(method.java:521) 06-28 07:33:55.684: error/androidruntime(330):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 06-28 07:33:55.684: error/androidruntime(330):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 06-28 07:33:55.684: error/androidruntime(330):     @ dalvik.system.nativestart.main(native method) 06-28 07:33:55.693: warn/activitymanager(59):   force finishing activity com.example.trypdf/.pdfvieweractivity 06-28 07:33:56.213: warn/activitymanager(59): activity pause timeout historyrecord{44fe47a0 com.example.trypdf/.pdfvieweractivity} 

i've tried everything:

  • create new project , copy classes.
  • use other target (apis lvl10),(2.2,_lvl8).
  • clean , build
  • reset adb.
  • use library downloaded pdfviewer site.

but same error:

06-28 07:32:46.983: error/dalvikvm(330): not find class 'com.example.trypdf.second', referenced method com.example.trypdf.pdfvieweractivity.openpdfintent 06-28 07:33:55.684: error/androidruntime(330): java.lang.noclassdeffounderror: com.example.trypdf.second 

here can see 2 classes, manifest.

pdfvieweractivity.java

  package com.example.trypdf;  import java.io.file; import java.io.filenamefilter;  import com.example.trypdf.second; import net.sf.andpdf.pdfviewer.pdfvieweractivity; import android.app.listactivity; import android.content.intent; import android.os.bundle; import android.os.environment; import android.view.view; import android.widget.arrayadapter; import android.widget.listview;  public class pdfvieweractivity extends listactivity {      string[] pdflist;     file[] imagelist;     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         //setcontentview(r.layout.main);          file images = environment.getexternalstoragedirectory();         imagelist = images.listfiles(new filenamefilter() {             public boolean accept(file dir, string name) {                 return ((name.endswith(".pdf")));             }         });         pdflist = new string[imagelist.length];         (int = 0; < imagelist.length; i++) {             pdflist[i] = imagelist[i].getname();         }         this.setlistadapter(new arrayadapter<string>(this,                 android.r.layout.simple_list_item_1, pdflist));     }      protected void onlistitemclick(listview l, view v, int position, long id) {         super.onlistitemclick(l, v, position, id);         string path = imagelist[(int) id].getabsolutepath();         openpdfintent(path);     }      private void openpdfintent(string path) {         try {             final intent intent = new intent(pdfvieweractivity.this, second.class);             intent.putextra(pdfvieweractivity.extra_pdffilename, path);             startactivity(intent);         } catch (exception e) {             e.printstacktrace();         }     } } 

second.java

     package com.example.trypdf;  import net.sf.andpdf.pdfviewer.pdfvieweractivity; import net.sf.andpdf.pdfviewer.r; import net.sf.andpdf.pdfviewer.r.drawable; import net.sf.andpdf.pdfviewer.r.id; import net.sf.andpdf.pdfviewer.r.layout; import android.os.bundle;  public class second extends pdfvieweractivity {      @override     public void oncreate(bundle savedinstancestate) {         // todo auto-generated method stub         super.oncreate(savedinstancestate);     }      public int getpreviouspageimageresource() {         return r.drawable.left_arrow;     }      public int getnextpageimageresource() {         return r.drawable.right_arrow;     }      public int getzoominimageresource() {         return r.drawable.zoom_in;     }      public int getzoomoutimageresource() {         return r.drawable.zoom_out;     }      public int getpdfpasswordlayoutresource() {         return r.layout.pdf_file_password;     }      public int getpdfpagenumberresource() {         return r.layout.dialog_pagenumber;     }      public int getpdfpasswordeditfield() {         return r.id.etpassword;     }      public int getpdfpasswordokbutton() {         return r.id.btok;     }      public int getpdfpasswordexitbutton() {         return r.id.btexit;     }      public int getpdfpagenumbereditfield() {         return r.id.pagenum_edit;     } } 

manifest

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.trypdf"     android:versioncode="1"     android:versionname="1.0" >      <uses-sdk         android:minsdkversion="8"         android:targetsdkversion="15" />  <application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name="com.example.trypdf.pdfvieweractivity"             android:label="@string/app_name" >             <intent-filter>                 <action android:name="android.intent.action.main" />                  <category android:name="android.intent.category.launcher" />             </intent-filter>         </activity>         <activity         android:name="com.example.trypdf.second"             android:label="@string/app_name" >             <intent-filter>                 <action android:name="android.intent.action.main" />                  <category android:name="android.intent.category.default" />             </intent-filter>         </activity>     </application> </manifest> 

thankss!!!

to fix problem need to:

  1. create named "libs" folder in project. 2 import libraries need project new folder. 2.1. import them: right click in libs folder--> import--> file system--> select .jar , accept.
  2. clean , build , boot

source: akki


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -