[英]android fatal exception for class not found errors
在上一個問題ive提出的問題中,ive放置了所有必要的catch語句以查找異常。 這是另一個。 我正在發布帶有異常的問題,因為通過查看它們很容易發現錯誤。 由於我是Android新手,所以我發布了這類問題。請查看下面的代碼。 它的說法是沒有班發現例外。 但是我已經加載了jcifs軟件包jcifs-1.3.17.jar。 我不明白為什么會引發異常。 請看下面:
碼:
package com.android.accesspc;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class userpassActivity extends Activity
{
EditText userName,userPassword;
String uName,uPassword,IP,MAC;
void help(int x)
{
userName=(EditText)findViewById(R.id.userpassUsername);
uName = userName.getText().toString();
userPassword=(EditText)findViewById(R.id.userpassPassword);
uPassword = userPassword.getText().toString();
String url= "smb://" + IP + "/";
NtlmPasswordAuthentication auth;
auth= new NtlmPasswordAuthentication(null,uName, uPassword);
try
{
SmbFile a[]=(new SmbFile(url, auth)).listFiles();
switch(x)
{
case 0:
Intent intent=new Intent("com.android.accesspc.VIEW");
intent.putExtra("IP",IP);
intent.putExtra("USERNAME",uName);
intent.putExtra("PASSWORD",uPassword);
startActivity(intent);
break;
case 1:
//code to switch off the system by checking users log on
//need to communicate with darshan's program
default:
finish();
}
}
catch(Exception e)
{
Toast.makeText(this,"Username and password is invalid OR",Toast.LENGTH_SHORT).show();
Toast.makeText(this,"Sytem may be busy OR",Toast.LENGTH_SHORT).show();
Toast.makeText(this,"Network error",Toast.LENGTH_SHORT).show();
Toast.makeText(this,"TRY AGAIN!!",Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.userpass);
final Bundle extras = getIntent().getExtras();
if(extras !=null)
{
//values from previous activity
IP = extras.getString("IPfromMacIp");
MAC = extras.getString("MACfromMacIp");
}
Button send=(Button)findViewById(R.id.userpassSendButton);
send.setOnClickListener(new
View.OnClickListener()
{
public void onClick(View v)
{
if(extras !=null)
{
help(0);
}
}
});
Button end=(Button)findViewById(R.id.userpassEndButton);
end.setOnClickListener(new
View.OnClickListener()
{
public void onClick(View v)
{
if(extras !=null)
{
help(1);
}
}
});
}
}
例外:
05-08 17:17:42.905: E/AndroidRuntime(398): FATAL EXCEPTION: main
05-08 17:17:42.905: E/AndroidRuntime(398): java.lang.NoClassDefFoundError: jcifs.smb.NtlmPasswordAuthentication
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.accesspc.userpassActivity.help(userpassActivity.java:25)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.accesspc.userpassActivity$1.onClick(userpassActivity.java:73)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.View.performClick(View.java:2485)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.View.onKeyUp(View.java:4257)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.widget.TextView.onKeyUp(TextView.java:4566)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.KeyEvent.dispatch(KeyEvent.java:1280)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.View.dispatchKeyEvent(View.java:3855)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1687)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1120)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.app.Activity.dispatchKeyEvent(Activity.java:2073)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1663)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2560)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2535)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.view.ViewRoot.handleMessage(ViewRoot.java:1867)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.os.Handler.dispatchMessage(Handler.java:99)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.os.Looper.loop(Looper.java:123)
05-08 17:17:42.905: E/AndroidRuntime(398): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-08 17:17:42.905: E/AndroidRuntime(398): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 17:17:42.905: E/AndroidRuntime(398): at java.lang.reflect.Method.invoke(Method.java:507)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-08 17:17:42.905: E/AndroidRuntime(398): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-08 17:17:42.905: E/AndroidRuntime(398): at dalvik.system.NativeStart.main(Native Method)
將jar
文件放在libs而不是lib下(如果需要,請更改文件夾名稱)
我刪除了android依賴文件夾。 現在它的工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.