Ian Markowitz
Ian Markowitz

Reputation: 265

Libgdx Android app crashes at launch

I'm creating an app with libgdx for the desktop and for android devices. The app is working fine on the desktop (windows), and also works fine on Ice Cream Sandwich (tested on a Droid DNA, a Nexus 7 and an emulated Nexus One).

However, on a Droid X or on a Gingerbead emulator, the app crashes immediately.

What could cause the app to crash on Gingerbread, but not on ICS?

The error is:

01-27 19:48:43.387: E/AndroidRuntime(687): FATAL EXCEPTION: main
01-27 19:48:43.387: E/AndroidRuntime(687): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ianmarkowitz.superfrenzy/com.ianmarkowitz.superfrenzy.MainActivity}: java.lang.ClassNotFoundException: com.ianmarkowitz.superfrenzy.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.ianmarkowitz.superfrenzy-1.apk]
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.os.Looper.loop(Looper.java:123)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread.main(ActivityThread.java:3683)
01-27 19:48:43.387: E/AndroidRuntime(687):  at java.lang.reflect.Method.invokeNative(Native Method)
01-27 19:48:43.387: E/AndroidRuntime(687):  at java.lang.reflect.Method.invoke(Method.java:507)
01-27 19:48:43.387: E/AndroidRuntime(687):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-27 19:48:43.387: E/AndroidRuntime(687):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-27 19:48:43.387: E/AndroidRuntime(687):  at dalvik.system.NativeStart.main(Native Method)
01-27 19:48:43.387: E/AndroidRuntime(687): Caused by: java.lang.ClassNotFoundException: com.ianmarkowitz.superfrenzy.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.ianmarkowitz.superfrenzy-1.apk]
01-27 19:48:43.387: E/AndroidRuntime(687):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-27 19:48:43.387: E/AndroidRuntime(687):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-27 19:48:43.387: E/AndroidRuntime(687):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-27 19:48:43.387: E/AndroidRuntime(687):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
01-27 19:48:43.387: E/AndroidRuntime(687):  ... 11 more

My android manifest file is:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ianmarkowitz.superfrenzy"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:installLocation="preferExternal"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.VIBRATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MainActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
            android:label="@string/app_name_short"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

Upvotes: 1

Views: 1723

Answers (1)

P.T.
P.T.

Reputation: 25177

Are you using any Android APIs from after SDK 10 in com.ianmarkowitz.superfrenzy.MainActivity? The Dalvik linker will refuse to load MainActivity if it references classes/methods that do not exist.

Upvotes: 0

Related Questions