Получение ClassNotFoundException при загрузке приложения Android - PullRequest
8 голосов
/ 18 февраля 2012

У меня есть приложение для 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)

Ниже приведен снимок манифеста

<?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>

Ответы [ 3 ]

0 голосов
/ 18 февраля 2012

Кажется, вы не установили "пусковую установку" в своей деятельности внутри приложения

    <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>
0 голосов
/ 18 февраля 2012

поставьте . перед MyApp в манифесте. У вас есть <activity android:name=".GamesWorld" и <application android:name = "MyApp"

должно быть:

<application android:name = ".MyApp"

0 голосов
/ 18 февраля 2012

дать .Myapp

<application android:name = ".MyApp" android:icon="@drawable/icon"      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...