내 프로젝트에서 일부 외부 jar 파일을 사용하려고하지만 애플리케이션을 실행할 때 ether java.lang.IllegalStateException
또는 java.lang.ClassDefNotFoundError
이 표시됩니다. 나는 여기에 언급 된 거의 모든 방법을 시도했지만 해결책을 찾지 못했습니다. 이 필요한 경우에도 내 프로젝트를 이메일로 보낼 수 있습니다java.lang.IllegalStateException/java.lang.ClassDefNotFoundError 외부 Jar를 Android 프로젝트에 추가
package com.test.testlibs;
import sun.misc.BASE64Encoder;
import com.test.testlibs.R.id;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(id.btnTest);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
convertMD5();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void convertMD5()
{
TextView textView = (TextView) findViewById(id.txtTest);
String text = textView.getText().toString();
BASE64Encoder base64Encoder = new BASE64Encoder();
String uname64 = base64Encoder.encode(text.getBytes());
Toast toast = Toast.makeText(getApplicationContext(), text+" "+uname64, Toast.LENGTH_LONG);
toast.show();
}
}
:
8-26 16:50:21.022: E/AndroidRuntime(16642): FATAL EXCEPTION: main
08-26 16:50:21.022: E/AndroidRuntime(16642): java.lang.NoClassDefFoundError: sun.misc.BASE64Encoder
08-26 16:50:21.022: E/AndroidRuntime(16642): at com.test.testlibs.MainActivity.convertMD5(MainActivity.java:48)
08-26 16:50:21.022: E/AndroidRuntime(16642): at com.test.testlibs.MainActivity$1.onClick(MainActivity.java:30)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.view.View.performClick(View.java:4128)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.view.View$PerformClick.run(View.java:17142)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.os.Handler.handleCallback(Handler.java:615)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.os.Handler.dispatchMessage(Handler.java:92)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.os.Looper.loop(Looper.java:213)
08-26 16:50:21.022: E/AndroidRuntime(16642): at android.app.ActivityThread.main(ActivityThread.java:4787)
08-26 16:50:21.022: E/AndroidRuntime(16642): at java.lang.reflect.Method.invokeNative(Native Method)
08-26 16:50:21.022: E/AndroidRuntime(16642): at java.lang.reflect.Method.invoke(Method.java:511)
08-26 16:50:21.022: E/AndroidRuntime(16642): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
08-26 16:50:21.022: E/AndroidRuntime(16642): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
08-26 16:50:21.022: E/AndroidRuntime(16642): at dalvik.system.NativeStart.main(Native Method)
및 클래스도 구현 : 나는 로그를 ADT 버전 (22)과 안드로이드 SDK 버전 여기에 17
이다 사용하고 있습니다 너무.
라이브러리 프로젝트를 제대로 가져 왔는지, 또는 작업 영역에서 사용할 수 없으며 사용할 수 있는지 여부를 확인 했습니까 ?? – Piyush
예. 가져온 파일도 작업 공간 – Sajirupee
에 있고 수업은 sun.misc 패키지에 포함됩니까 ?? – Piyush