2013-06-07 3 views
3

응용 프로그램을 개발 중이며 두 개의 버튼이있는 Launcher 활동을 시작할 수 있습니다. 이 버튼 중 하나를 클릭하면 새로운 활동이 열립니다. 그러나 런타임 오류가 발생합니다.No Class Def Found 오류 (android)


import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class Intro extends Activity { 

    Button searchBut, fbButton; 

    @Override 
    protected void onResume() { 
     super.onResume(); 
    } 

    @Override 
    protected void onCreate(final Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     AppSettings.loadLogin(getApplicationContext()); 
     setContentView(R.layout.intro); 
     if (AppSettings.logged) { 
      Intent a = new Intent(Intro.this, AllChallengesPager.class); 
      a.putExtra("logging", "0"); 
      startActivity(a); 
     } 
     searchBut = (Button) findViewById(R.id.button2); 
     searchBut.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent a = new Intent(Intro.this, DetailedChallenge.class); 
       a.putExtra("logging", "0"); 
       startActivity(a); 
      } 
     }); 
     fbButton = (Button) findViewById(R.id.fbBut); 
     fbButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent a = new Intent(Intro.this, AllChallengesPager.class); 
       a.putExtra("logging", "1"); 
       startActivity(a); 
      } 
     }); 
     AppSettings.loadLogin(getApplicationContext()); 
    } 
} 


06-07 11:26:07.776: E/AndroidRuntime(13305): FATAL EXCEPTION: main 
06-07 11:26:07.776: E/AndroidRuntime(13305): java.lang.NoClassDefFoundError: com.loopj.android.http.RequestParams 
06-07 11:26:07.776: E/AndroidRuntime(13305): at com.example.challengeZygio.DetailedChallenge.onCreate(DetailedChallenge.java:216) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.Activity.performCreate(Activity.java:5047) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.ActivityThread.access$700(ActivityThread.java:134) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.os.Looper.loop(Looper.java:137) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at android.app.ActivityThread.main(ActivityThread.java:4867) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at java.lang.reflect.Method.invokeNative(Native Method) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at java.lang.reflect.Method.invoke(Method.java:511) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
06-07 11:26:07.776: E/AndroidRuntime(13305): at dalvik.system.NativeStart.main(Native Method) 
- 내 모든 항아리 라이브러리가 libs가에 위치는 폴더 - 나는 프로젝트를 청소하고 여러 번 이클립스를 다시 시작했다 - 나는 이클립스 주노 사용하고있는 모든과 최신 업데이트

+0

어떻게 Android 비동기 HTTP 클라이언트를 포함 하시겠습니까? libs 폴더에있는 Jar 파일입니까, 라이브러리 프로젝트로 사용합니까, 아니면 소스를 자신의 소스 폴더에 복사 했습니까? – britzl

+0

아직 해결되지 않은 문제가 있습니까? –

답변

21

Right click your Project -> Properties -> Java Build Path -> Order & Export

여기에 도달하면 사용한 라이브러리를 라이브러리에서 선택하고 목록 맨 위로 옮깁니다. 즉 "xyz.jar"파일을 사용했다고 가정하면 다음과 같은 순서가됩니다.

[X] xyz.jar
[X] 안드로이드 x.x
[X] 안드로이드 종속성 ....

변경 사항을 저장하고 청소 후 프로젝트를 다시 빌드합니다.

+1

나를 위해 일했습니다 덕분에 – Pratswinz

+1

내 하루를 저장 ... – sud

0

프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오. BuildPath로 이동 -> 빌드 경로 구성 -> 주문 및 내보내기 -> 사용했던 모든 라이브러리 선택 -> ok 클릭 -> 프로젝트 정리

0

같은 문제가 발생했습니다. 나중에 Properties> JavaBuildPath> Library/Project로 라이브러리 항아리를 추가하는 것이 Eclipse에서 빌드 한 후에 apk에 추가되지 않는다는 것을 알아야합니다. 대신이 .jar 라이브러리를 lib 폴더에 직접 복사하여 붙여 넣기 만하면됩니다.

1

나는 또한이 문제에 붙어있어 클래스에 대한 여러 가지 이유가있을 수 있습니다 귀하의 활동이 Manifest에 추가되지 않은 수 있습니다, 가져온 라이브러리는 위에서 언급 한 바와 같이 제대로 프로젝트에 추가되지 않습니다. 다른 이유가 될 수 있습니다 항아리 불일치. 내 경우에는 내 프로젝트 lib에 android-support.jar이 있고 내 import appcompat v7에 다른 버전이 있습니다. 내 프로젝트의 libs에서 android-support.jar 파일을 삭제하고 문제가 해결되었습니다.

관련 문제