2012-05-22 11 views
1

我創建了一個非常簡單的Android應用程序,只是爲了處理功能。在應用程序中,我想調用Web服務客戶端來檢索並顯示一些數據。我認爲我已成功導入並引用該jar文件(即庫)。它似乎是成功實例化該類,但是當該類引用jar/library中的另一個類時,會拋出類未找到錯誤。有任何想法嗎???還有什麼我可以提供幫助回答?無法在Android庫文件中找到類

這裏是我的代碼:

package mhcs.android.ehd; 

import mhcs.services.client.EHD.EHDClient; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class GetTicketDescription extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     EHDClient client = new EHDClient(); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     String title = getString(R.string.title); 
     setTitle(title); // done so that we can change the default title 
     //get handles to editText and button widgets 
     final EditText eText = (EditText) findViewById(R.id.editText1); 
     final Button button = (Button) findViewById(R.id.button1); 
     eText.setText(client.getTicketDescription("MMLZ-8LVRMK")); 

     button.setOnClickListener(new Button.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       //get the String entered into the editText widget 
       CharSequence editText = eText.getText(); 
       //display the toast 
       Toast.makeText(GetTicketDescription.this, editText, Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 
} 

以下是錯誤:

D/dalvikvm(538): Not late-enabling CheckJNI (already on) 
I/dalvikvm(538): threadid=3: reacting to signal 3 
I/dalvikvm(538): Wrote stack traces to '/data/anr/traces.txt' 
W/dalvikvm(538): Unable to resolve superclass of Lorg/tempuri/EHDLookupService; (73) 
W/dalvikvm(538): Link of class 'Lorg/tempuri/EHDLookupService;' failed 
E/dalvikvm(538): Could not find class 'org.tempuri.EHDLookupService', referenced from method mhcs.services.client.EHD.EHDClient.<init> 
W/dalvikvm(538): VFY: unable to resolve new-instance 93 (Lorg/tempuri/EHDLookupService;) in Lmhcs/services/client/EHD/EHDClient; 
D/dalvikvm(538): VFY: replacing opcode 0x22 at 0x0003 
W/dalvikvm(538): Unable to resolve superclass of Lorg/tempuri/EHDLookupService; (73) 
W/dalvikvm(538): Link of class 'Lorg/tempuri/EHDLookupService;' failed 
W/dalvikvm(538): Unable to resolve superclass of Lorg/tempuri/EHDLookupService; (73) 
W/dalvikvm(538): Link of class 'Lorg/tempuri/EHDLookupService;' failed 
I/dalvikvm(538): Could not find method org.tempuri.EHDLookupService.getBasicHttpBindingIEHDLookupService, referenced from method mhcs.services.client.EHD.EHDClient.<init> 
W/dalvikvm(538): VFY: unable to resolve virtual method 112: Lorg/tempuri/EHDLookupService;.getBasicHttpBindingIEHDLookupService()Lorg/tempuri/IEHDLookupService; 
D/dalvikvm(538): VFY: replacing opcode 0x6e at 0x001c 
W/dalvikvm(538): VFY: unable to find class referenced in signature (Ljavax/xml/bind/JAXBElement;) 
I/dalvikvm(538): Could not find method javax.xml.bind.JAXBElement.getValue, referenced from method mhcs.services.client.EHD.EHDClient.getAssigneeTickets 
W/dalvikvm(538): VFY: unable to resolve virtual method 42: Ljavax/xml/bind/JAXBElement;.getValue()Ljava/lang/Object; 
D/dalvikvm(538): VFY: replacing opcode 0x6e at 0x0026 
W/dalvikvm(538): VFY: unable to find class referenced in signature (Ljavax/xml/bind/JAXBElement;) 
I/dalvikvm(538): Could not find method javax.xml.bind.JAXBElement.getValue, referenced from method mhcs.services.client.EHD.EHDClient.getTicketDescription 
W/dalvikvm(538): VFY: unable to resolve virtual method 42: Ljavax/xml/bind/JAXBElement;.getValue()Ljava/lang/Object; 
D/dalvikvm(538): VFY: replacing opcode 0x6e at 0x000b 
W/dalvikvm(538): Unable to resolve superclass of Lorg/tempuri/EHDLookupService; (73) 
W/dalvikvm(538): Link of class 'Lorg/tempuri/EHDLookupService;' failed 
D/dalvikvm(538): DexOpt: unable to opt direct call 0x006b at 0x15 in Lmhcs/services/client/EHD/EHDClient;.<init> 
D/AndroidRuntime(538): Shutting down VM 
W/dalvikvm(538): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 

E/AndroidRuntime(538): FATAL EXCEPTION: main 
E/AndroidRuntime(538): java.lang.NoClassDefFoundError: org.tempuri.EHDLookupService 
E/AndroidRuntime(538):  at mhcs.services.client.EHD.EHDClient.<init>(EHDClient.java:25) 
E/AndroidRuntime(538):  at mhcs.android.ehd.GetTicketDescription.onCreate(GetTicketDescription.java:15) 
E/AndroidRuntime(538):  at android.app.Activity.performCreate(Activity.java:4465) 
E/AndroidRuntime(538):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
E/AndroidRuntime(538):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
E/AndroidRuntime(538):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
E/AndroidRuntime(538):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
E/AndroidRuntime(538):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
E/AndroidRuntime(538):  at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime(538):  at android.os.Looper.loop(Looper.java:137) 
E/AndroidRuntime(538):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
E/AndroidRuntime(538):  at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(538):  at java.lang.reflect.Method.invoke(Method.java:511) 
E/AndroidRuntime(538):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
E/AndroidRuntime(538):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
E/AndroidRuntime(538):  at dalvik.system.NativeStart.main(Native Method) 
I/dalvikvm(538): threadid=3: reacting to signal 3 
I/dalvikvm(538): Wrote stack traces to '/data/anr/traces.txt' 

注:我的理解加上org/tempuri該問題,並將糾正。

(因爲我是一個新用戶不能發佈我的工作空間的圖像)

+0

[該解決方案(http://stackoverflow.com/a/10677757/194894)工作爲了我。 – Flow

回答

0

嘗試創建一個名爲項目下libs新的文件夾,並把那裏的.jar文件...

+1

還要確保在項目屬性 – Phix

+0

下的Java構建路徑中檢查了jar。感謝這兩個建議。但是,我已經完成了這兩件事。它似乎在工作,我可以從jar中實例化一個類,但該類似乎無法在該jar中找到其他類。 – mbadtk

+0

@mbadtk,你爲什麼這麼說? – amp

2
  1. 查找屬性 - >Java構建路徑 - >訂單和出口
  2. 變化Android的依賴爲了
0

我有同樣的問題,我試圖在訂單和導出標記Android私人圖書館,它並沒有爲我工作。然後我注意到我的libs文件夾沒有在Java Build Path下引用。所以我只是把它添加到圖書館,它工作。

0

轉到 項目>構建路徑>配置構建路徑

檢查圖書館你想,點擊OK

相關問題