首页 > 解决方案 > .RuntimeException:无法实例化活动 ComponentInfo java.lang.ClassNotFoundException:找不到类“moveitech.com.MainActivity”

问题描述

关于这个问题,我在互联网上尝试了很多可用的东西,但没有任何东西对我有用。这对我来说真的很忙。活动名称在清单中正确写入,包名称也正确,我也尝试过清理和重建。

以下是我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="moveitech.com">

<uses-permission android:name="android.permission.INTERNET"/>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name="moveitech.com.MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

以下是主要活动代码

package moveitech.com;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;

import android.os.Bundle;
import android.view.MenuItem;

import com.google.android.material.bottomnavigation.BottomNavigationView;

import retrofit2.Call;

public class MainActivity extends AppCompatActivity {

private BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bottomNavigationView= findViewById(R.id.bottomNavigationView);
    bottomNavigationView.setOnNavigationItemSelectedListener(navigationItemSelectedListener);

  

   getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
   newSearch_f()).commit();




  }



   private BottomNavigationView.OnNavigationItemSelectedListener navigationItemSelectedListener=
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                Fragment selectedFragment =null;
                switch (item.getItemId())
                {
                    case R.id.search:
                        selectedFragment= new Search_f();
                        break;
                    case R.id.URL:
                        selectedFragment= new url_search();
                        break;
                    case R.id.setting:
                        selectedFragment= new Setting_f();
                        break;
                }
                

   getSupportFragmentManager().beginTransaction()
  .replace(R.id.fragment_container,selectedFragment).commit();
                return true;
            }
        };
  }

这是错误

E/AndroidRuntime: FATAL EXCEPTION: main
Process: moveitech.com, PID: 4650
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{moveitech.com/moveitech.com.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "moveitech.com.MainActivity" on path: DexPathList[[zip file "/data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/base.apk"],nativeLibraryDirectories=[/data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2841)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "moveitech.com.MainActivity" on path: DexPathList[[zip file "/data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/base.apk"],nativeLibraryDirectories=[/data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1180)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2831)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6944) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 
    Suppressed: java.io.IOException: Failed to open dex files from /data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/base.apk because: Failure to verify dex file '/data/app/moveitech.com-oBXiVvWbQxARq8cgEZrnpA==/base.apk': Bad method handle type 7
    at dalvik.system.DexFile.openDexFileNative(Native Method)
    at dalvik.system.DexFile.openDexFile(DexFile.java:353)
    at dalvik.system.DexFile.<init>(DexFile.java:100)
    at dalvik.system.DexFile.<init>(DexFile.java:74)
    at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
    at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
    at dalvik.system.DexPathList.<init>(DexPathList.java:157)
    at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
    at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
    at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
    at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
    at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
    at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:678)
    at android.app.LoadedApk.getClassLoader(LoadedApk.java:711)
    at android.app.LoadedApk.getResources(LoadedApk.java:944)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:2303)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5943)
    at android.app.ActivityThread.-wrap1(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
            ... 6 more

标签: javaandroidruntimeexception

解决方案


尝试重命名您的 .java 和 .xml 文件,不要忘记添加 Manifest.xml 文件。


推荐阅读