【问题标题】:Getting ClassNotFoundException on loading Android application在加载 Android 应用程序时获取 ClassNotFoundException
【发布时间】:2012-03-09 11:15:17
【问题描述】:

我有一个 Android 应用程序上传到市场上。该应用程序有一个要在启动时加载的类。我在类中使用了一些全局变量

问题是我的开发者控制台显示这个特定类的 ClassNotFoundException 错误。但是,当我在各种手机上进行测试时,我没有收到任何错误,但是这发生在相当多的手机上,因为我可以在开发者控制台中经常看到错误

以下是错误日志。类名是MyApp

java.lang.RuntimeException: Unable to instantiate application com.test.app.MyApp:      
java.lang.ClassNotFoundException: com.test.app.MyApp in loader  
dalvik.system.PathClassLoader[/mnt/asec/com.test.app-1/pkg.apk]
at android.app.LoadedApk.makeApplication(LoadedApk.java:481)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3882)
at android.app.ActivityThread.access$2200(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1089)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4369)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:846)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.test.app.MyApp in loader    
dalvik.system.PathClassLoader[/mnt/asec/com.test.app-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at android.app.Instrumentation.newApplication(Instrumentation.java:972)
at android.app.LoadedApk.makeApplication(LoadedApk.java:472)

以下是 Manifest 的快照

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.app"
android:installLocation="preferExternal"
android:versionCode="30"
android:versionName="1.5.3">
<application android:name = "MyApp" android:icon="@drawable/icon"      
android:label="@string/app_name" 
android:theme="@android:style/Theme.NoTitleBar">

<activity android:name=".GamesWorld"
android:label="@string/app_name">            
</activity>

【问题讨论】:

    标签: android class exception


    【解决方案1】:

    .Myapp

    <application android:name = ".MyApp" android:icon="@drawable/icon"      
    

    【讨论】:

    • MyApp 不是一个 Activity 它是一个扩展 Application 的类,你应该仔细阅读错误然后给出你的答案。
    【解决方案2】:

    您似乎没有在应用程序内的活动中设置“启动器”

        <activity
           android:name=".GamesWorld"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    

    【讨论】:

    • 我确实有一个启动器,只是我没有粘贴整个 Manifest :-)
    【解决方案3】:

    在清单中的 MyApp 之前放置一个 .。你有<activity android:name=".GamesWorld" &lt;application android:name = "MyApp"

    应该是:

    &lt;application android:name = ".MyApp"

    【讨论】:

    • 我之前确实有.MyApp,我也怀疑这一点并将其更改为仅MyApp。但错误依然存在
    猜你喜欢
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2019-07-05
    • 2010-12-27
    • 2018-03-26
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多