eclipse java.lang.RuntimeException:无法示例化Activity异常信息{...}:java.lang.ClassNotFoundException:找不到类

mpgws1up  于 12个月前  发布在  Eclipse
关注(0)|答案(7)|浏览(211)

我正在开发一个应用程序使用融合位置提供程序.我得到一个错误“不幸的是,appname已停止”当我试图运行该程序. Eclipse不显示有任何错误,但在logcat中有错误.我不知道如何修复它们.我下载了源代码here .请帮助我了解我做错了什么?
LogCat

11-05 08:31:41.641: E/AndroidRuntime(795): FATAL EXCEPTION: main
11-05 08:31:41.641: E/AndroidRuntime(795): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.kpbird.fusedlocation/com.kpbird.fusedlocation.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity" on path: DexPathList[[zip file "/data/app/com.kpbird.fusedlocation-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.kpbird.fusedlocation-1, /system/lib]]
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.os.Looper.loop(Looper.java:137)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread.main(ActivityThread.java:5103)
11-05 08:31:41.641: E/AndroidRuntime(795):  at java.lang.reflect.Method.invokeNative(Native Method)
11-05 08:31:41.641: E/AndroidRuntime(795):  at java.lang.reflect.Method.invoke(Method.java:525)
11-05 08:31:41.641: E/AndroidRuntime(795):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-05 08:31:41.641: E/AndroidRuntime(795):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-05 08:31:41.641: E/AndroidRuntime(795):  at dalvik.system.NativeStart.main(Native Method)
11-05 08:31:41.641: E/AndroidRuntime(795): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity" on path: DexPathList[[zip file "/data/app/com.kpbird.fusedlocation-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.kpbird.fusedlocation-1, /system/lib]]
11-05 08:31:41.641: E/AndroidRuntime(795):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
11-05 08:31:41.641: E/AndroidRuntime(795):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
11-05 08:31:41.641: E/AndroidRuntime(795):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
11-05 08:31:41.641: E/AndroidRuntime(795):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
11-05 08:31:41.641: E/AndroidRuntime(795):  ... 11 more

字符串

oprakyz7

oprakyz71#

在我的情况下,问题是与gradle
我将代码从java重构为Kotlin,但忘记在Gradle中添加此代码

apply plugin: 'kotlin-android'

字符串

66bbxpm5

66bbxpm52#

因为你的例外是:

ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity"

字符串
在您的AndroidManifest.xml中添加您的Activity所在的完整软件包:

<activity
                android:name="com.kpbird.fusedlocation.MainActivity"


或者确保必须定义正确的软件包名称:

package="com.kpbird.fusedlocation"

我认为你在代码的某些地方输入了错误的应用程序包!

x1c 0d1x的数据

kqlmhetl

kqlmhetl3#

当我将一个应用从一个目录移动到另一个目录时发生了这种情况,如果@Jorgesys的解决方案没有帮助,请考虑重命名模块并清理项目。注意:我使用的是Android Studio。

n53p2ov0

n53p2ov04#

AndroidManifest引用中包含以下内容时也会出现相同的问题:

<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

字符串
并硬编码错误的google_play_services_version值。

rwqw0loc

rwqw0loc5#

在更新我的MainActivity.java时,我不小心将软件包名称从package com.ppg;更改为package com.PPG;(大写而不是小写)。当我更改回小写时,它开始工作。

yuvru6vn

yuvru6vn6#

当您在manifest文件中更改包名而不是在main activity中更改包名时会发生此错误。请记住,当您更改包名时,请在1个manifest文件中更改包名,如果您的建筑 Flutter ,请在所有3个模式配置文件,调试和发布2主活动Kotlin或java文件中更改包名
3在build gradle中更改应用程序ID

ltskdhd1

ltskdhd17#

在这个问题上花了很多时间之后,我终于找到了解决办法。
只需将setContentView(R.layout.LAYOUT_NAME);从类的构造函数中删除,并将其放入类的onCreate方法中。
100%会解决的。

相关问题