【发布时间】:2021-02-06 12:44:08
【问题描述】:
我是新手
我只是创建标准应用程序(hello world),它可以工作。之后我尝试使用库。我将此行添加到我的 build.gradle:
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
当我尝试启动应用程序时立即出现错误:“p4 已停止”,“p4 一直在停止”。
Logcat 看起来像这样:
2020-10-23 15:34:35.646 20799-20799/com.example.p4 E/AndroidRuntime: 致命异常: main
进程:com.example.p4,PID:20799
java.lang.RuntimeException:无法实例化活动 ComponentInfo{com.example.p4/com.example.p4.MainActivity}:java.lang.ClassNotFoundException:在路径上找不到类“com.example.p4.MainActivity”: DexPathList[[zip 文件“/data/app/com.example.p4-OHm5vpOPjFrHTDRMlOcCig==/base.apk”],nativeLibraryDirectories=[/data/app/com.example.p4-OHm5vpOPjFrHTDRMlOcCig==/lib/x86, /系统/库,/供应商/库]]
在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2718)
在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
在 android.app.ActivityThread.-wrap11(未知来源:0)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
在 android.os.Handler.dispatchMessage(Handler.java:105)
在 android.os.Looper.loop(Looper.java:164)
在 android.app.ActivityThread.main(ActivityThread.java:6541)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
原因:java.lang.ClassNotFoundException:在路径上找不到类“com.example.p4.MainActivity”:DexPathList [[zip file“/data/app/com.example.p4-OHm5vpOPjFrHTDRMlOcCig==/base.apk "],nativeLibraryDirectories=[/data/app/com.example.p4-OHm5vpOPjFrHTDRMlOcCig==/lib/x86, /system/lib, /vendor/lib]]
在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:379)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:312)
在 android.app.Instrumentation.newActivity(Instrumentation.java:1173)
在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708)
在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
在 android.app.ActivityThread.-wrap11(未知来源:0)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
在 android.os.Handler.dispatchMessage(Handler.java:105)
在 android.os.Looper.loop(Looper.java:164)
在 android.app.ActivityThread.main(ActivityThread.java:6541)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
抑制:java.io.IOException:无法从 /data/app/com.example.p4-OHm5vpOPjFrHTDRMlOcCig==/base.apk 打开 dex 文件,因为:无法验证 dex 文件 '/data/app/com.example.p4 -OHm5vpOPjFrHTDRMlOcCig==/base.apk':错误的方法句柄类型 7
在 dalvik.system.DexFile.openDexFileNative(本机方法)
在 dalvik.system.DexFile.openDexFile(DexFile.java:353)
在 dalvik.system.DexFile.(DexFile.java:100)
在 dalvik.system.DexFile.(DexFile.java:74)
在 dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
在 dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
在 dalvik.system.DexPathList.(DexPathList.java:157)
在 dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:65)
在 dalvik.system.PathClassLoader.(PathClassLoader.java:64)
在 com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
在 android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
在 android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
在 android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:676)
在 android.app.LoadedApk.getClassLoader(LoadedApk.java:709)
在 android.app.LoadedApk.getResources(LoadedApk.java:936)
在 android.app.ContextImpl.createAppContext(ContextImpl.java:2242)
在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5672)
在 android.app.ActivityThread.-wrap1(未知来源:0)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
... 6 更多
我希望这些信息足够了。我不知道还能显示什么
我的清单看起来像这样:
`
<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">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
`
【问题讨论】:
-
我之前读过这个帖子,但我不明白要添加什么样的活动。 @DeepParsania