当我在 phone 中安装我的应用程序时,它立即崩溃 -- Android Studio
When I install my app in the phone, it imediately crashes -- Android Studio
每次我尝试 运行 应用程序时,它都能正确安装,但是当它试图打开自己时,它立即崩溃,如果我再次尝试打开它,它就会一直崩溃。
出现的错误如下:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.hearapp.MainActivity" on path: DexPathList[[zip file "/data/app/~~9rWShSVzYzBW9f47F4keiA==/com.example.hearapp-ErMfQhrKVlWTHYu2GasO5w==/base.apk"],nativeLibraryDirectories=[/data/app/~~9rWShSVzYzBW9f47F4keiA==/com.example.hearapp-ErMfQhrKVlWTHYu2GasO5w==/lib/arm64, /system/lib64, /system/system_ext/lib64]]
主要的 Activity 代码是这样的:
package com.example.hearapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.button.MaterialButton;
public class LogIn extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView username = (TextView) findViewById(R.id.Username);
TextView password = (TextView) findViewById(R.id.Password);
MaterialButton loginButton = (MaterialButton) findViewById(R.id.LogInButton);
//both password and username are admin
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(username.getText().toString().equals("admin") && password.getText().equals("admin")) {
//correc
Toast.makeText(LogIn.this, "Log In Succesfull", Toast.LENGTH_SHORT).show();
openMainPage();
} else {
//incorrect
Toast.makeText(LogIn.this, "Username or Password Incorrect", Toast.LENGTH_SHORT).show();
ImageView imageView = (ImageView) findViewById(R.id.garcias);
imageView.setVisibility(View.VISIBLE);
}
}
});
}
public void openMainPage(){
Intent intent = new Intent(this, MainPage.class);
startActivity(intent);
}
}
答案很简单,我已经将 MainActivity class 的名称更改为“SignIn”,所以当程序试图打开 MainActivity 文件时,它没有找到它,因为它有另一个名称,所以我只需要将名称改回“MainActivity”,问题就解决了。
每次我尝试 运行 应用程序时,它都能正确安装,但是当它试图打开自己时,它立即崩溃,如果我再次尝试打开它,它就会一直崩溃。
出现的错误如下:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.hearapp.MainActivity" on path: DexPathList[[zip file "/data/app/~~9rWShSVzYzBW9f47F4keiA==/com.example.hearapp-ErMfQhrKVlWTHYu2GasO5w==/base.apk"],nativeLibraryDirectories=[/data/app/~~9rWShSVzYzBW9f47F4keiA==/com.example.hearapp-ErMfQhrKVlWTHYu2GasO5w==/lib/arm64, /system/lib64, /system/system_ext/lib64]]
主要的 Activity 代码是这样的:
package com.example.hearapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.button.MaterialButton;
public class LogIn extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView username = (TextView) findViewById(R.id.Username);
TextView password = (TextView) findViewById(R.id.Password);
MaterialButton loginButton = (MaterialButton) findViewById(R.id.LogInButton);
//both password and username are admin
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(username.getText().toString().equals("admin") && password.getText().equals("admin")) {
//correc
Toast.makeText(LogIn.this, "Log In Succesfull", Toast.LENGTH_SHORT).show();
openMainPage();
} else {
//incorrect
Toast.makeText(LogIn.this, "Username or Password Incorrect", Toast.LENGTH_SHORT).show();
ImageView imageView = (ImageView) findViewById(R.id.garcias);
imageView.setVisibility(View.VISIBLE);
}
}
});
}
public void openMainPage(){
Intent intent = new Intent(this, MainPage.class);
startActivity(intent);
}
}
答案很简单,我已经将 MainActivity class 的名称更改为“SignIn”,所以当程序试图打开 MainActivity 文件时,它没有找到它,因为它有另一个名称,所以我只需要将名称改回“MainActivity”,问题就解决了。