마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버전문제 같은데 도와주세요 .. java.lang.NoClassDefFoundError

0 추천

롤리팝 마시멜로 오레오에서는 정상적으로 작동하는걸 확인했는데

롤리팝에서 더 내린 킷캣에서는 작동을 안하고 java.lang.NoClassDefFoundError 해당 오류를 뿜어냅니다..

 

Myapplication class가 처음에 onCreate되면서

 

m_MainService_Interface new MainService_Interface(getApplicationContext());

 

여기서 해당 클래스에 진입하면  

 

public MainService_Interface(Context context) {
    mServiceConnection = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            m_MainService = ((MainService.MainServiceBinder) service).getService();
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            mServiceConnection = null;
            m_MainService = null;
        }
    };

    context.bindService(new Intent(context, MainService.class)
            .setPackage(context.getPackageName()), mServiceConnection, Context.BIND_AUTO_CREATE);
}
 
이렇게 나오는데 현재 오류 내용도 위 두개의 부분에서 발생했다고 나와있습니다..
혹시 해결할 방법이 없을까요 ..
 
 
정확히 아래같은 오류가 표시됩니다.
java.lang.NoClassDefFoundError: com.ap.universe.service.MainService_Interface$1
파워코딩 (960 포인트) 님이 2018년 7월 12일 질문

1개의 답변

0 추천

말그대로 MainService_Interface에 대한 클래스 정의가 없다는 것입니다.

라이브러리 중에 아래 이름으로 된 것을 사용하는가 본데,

그게 제대로 참조가 되어 있는지, 라이브러리가 어느 버전을 지원하는지 확인해 봐야 할 듯 싶네요.

일단은 해당 라이브러의 com/ap/universe/service/ 아래에 MainService_Interface 가 있는지 확인하세요.

com.ap.universe.service.MainService_Interface
Will Kim (43,170 포인트) 님이 2018년 7월 12일 답변
해당 경로안에 MainService_Interface가 있는걸 확인했구요 ...ㅜㅜ 다른 버전은 다 잘되는데 킷캣만 안되네요 ...
그러면 혹시 해당 라이브러리 내의 build.gradle을 확인해서 minSdkVersion이 어떻게 되어 있는지 체크해 보세요.
...