2013-01-17 3 views
1

내 Activity에서 새로운 인 텐트를 시작하려고하는데 NoClassDefFoundError가 발생합니다. 예외는 MyClassB.class을 해결하는 동안 발생합니다. 이상하게도 다른 클래스를 해결할 수 있으며 오류는 안드로이드 버전 2.2와 2.3에서만 발생합니다. 4.0 이상에서는 제대로 작동합니다.Android : NoClassDefError는 4.0 이하는 4.0 이상입니까?

오류를 발생시키는 클래스와 성공적으로 해결하는 다른 클래스는 모두 코드가 실행되는 활동과 동일한 패키지에 있습니다. 기본적으로, 아래 코드는 2.2/2.3에서 아래의 오류를 제공하지만 4.0+에서는 정상적으로 작동합니다. 나는 또한 같은 전체 패키지 이름을 사용하여 시도했다 : com.me.MyClassB.class,하지만 같은 오류가 발생합니다.

나는이 질문이 꽤 모호하다는 것을 알았지 만, 누군가가 도울 수 있기를 바랄만큼 혼란 스럽다.

package com.me; 

public class MyActivity extends Activity 
{ 
    protected onCreate(Bundle bundle) 
    { 
     super.onCreat(bundle); 

     Class a = MyClassA.class; 
     Class b = MyClassB.class; 
    } 
} 


01-17 10:37:36.473: E/AndroidRuntime(1976): java.lang.NoClassDefFoundError: com.me.MyClassB 

답변

0

MyClassB.classActionBar.OnNavigationListener를 구현하므로이 발생했다. 클래스에 상위 API 수준의 특정 코드가 포함 된 경우 런타임에 올바르게 설정되지 않아 이러한 종류의 오류가 발생하는 것 같습니다. 나는 MyClassB.class이 2.3에서 충돌 할 것으로 예상했지만, NoClassDefFoundError은 특히 신비 롭다.

0

나는이 문제가 있는지 확실하지 않습니다하지만 당신의에서 onCreate 방법 당신은 처음 예에서) super.onCreate(bundle를 추가해야

protected onCreate(Bundle bundle) 
{ 
     super.onCreate(bundle); 
     Class a = MyClassA.class; 
     Class b = MyClassB.class; 
} 
+0

다른 문제는 해결할 수 있지만 java.lang.NoClassDefFoundError는 적용되지 않습니다. com.me.MyClassB –

+0

이 내용을 포함하도록 의사 코드를 편집했습니다. 그러나, 내 코드에서 "클래스 = ="줄 잘 실행되므로 확실히 문제가되지 않습니다. – ab11