user1299846
user1299846

Reputation: 387

Android Phonegap fatal error

I just started with phonegap, so I went throught this tutorial [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html][1] [1]: http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html

Catlog:

   08-09 14:36:21.752: E/AndroidRuntime(543): FATAL EXCEPTION: main
08-09 14:36:21.752: E/AndroidRuntime(543): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.apache.cordova.example/org.apache.cordova.example.cordovaExample}: java.lang.ClassNotFoundException: org.apache.cordova.example.cordovaExample in loader dalvik.system.PathClassLoader[/data/app/org.apache.cordova.example-1.apk]
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.os.Looper.loop(Looper.java:123)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread.main(ActivityThread.java:4627)
08-09 14:36:21.752: E/AndroidRuntime(543):  at java.lang.reflect.Method.invokeNative(Native Method)
08-09 14:36:21.752: E/AndroidRuntime(543):  at java.lang.reflect.Method.invoke(Method.java:521)
08-09 14:36:21.752: E/AndroidRuntime(543):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-09 14:36:21.752: E/AndroidRuntime(543):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-09 14:36:21.752: E/AndroidRuntime(543):  at dalvik.system.NativeStart.main(Native Method)
08-09 14:36:21.752: E/AndroidRuntime(543): Caused by: java.lang.ClassNotFoundException: org.apache.cordova.example.cordovaExample in loader dalvik.system.PathClassLoader[/data/app/org.apache.cordova.example-1.apk]
08-09 14:36:21.752: E/AndroidRuntime(543):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
08-09 14:36:21.752: E/AndroidRuntime(543):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
08-09 14:36:21.752: E/AndroidRuntime(543):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
08-09 14:36:21.752: E/AndroidRuntime(543):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
08-09 14:36:21.752: E/AndroidRuntime(543):  ... 11 more

Updated MainActivity:

package org.apache.cordova.example;

import org.apache.cordova.DroidGap;

import android.os.Bundle;

public class MainActivity extends DroidGap
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}

Notes:

My .jar folder is called "libs".

I have added cordova2.0.0.jar as build path.

I have tried adding plugins.xml:

<?xml version="1.0" encoding="utf-8"?>
<plugins>
    <plugin name="App" value="com.phonegap.App"/>
    <plugin name="Geolocation" value="com.phonegap.GeoBroker"/>
    <plugin name="Device" value="com.phonegap.Device"/>
    <plugin name="Accelerometer" value="com.phonegap.AccelListener"/>
    <plugin name="Compass" value="com.phonegap.CompassListener"/>
    <plugin name="Media" value="com.phonegap.AudioHandler"/>
    <plugin name="Camera" value="com.phonegap.CameraLauncher"/>
    <plugin name="Contacts" value="com.phonegap.ContactManager"/>
    <plugin name="Crypto" value="com.phonegap.CryptoHandler"/>
    <plugin name="File" value="com.phonegap.FileUtils"/>
    <plugin name="Network Status" value="com.phonegap.NetworkManager"/>
    <plugin name="Notification" value="com.phonegap.Notification"/>
    <plugin name="Storage" value="com.phonegap.Storage"/>
    <plugin name="Temperature" value="com.phonegap.TempListener"/>
    <plugin name="FileTransfer" value="com.phonegap.FileTransfer"/>
    <plugin name="Capture" value="com.phonegap.Capture"/>
</plugins>

Manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
      package="org.apache.cordova.example" android:versionName="1.1" android:versionCode="5">
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />   
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />


    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="cordovaExample" android:label="@string/app_name" 
                  android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <uses-sdk android:minSdkVersion="5" />
</manifest> 

Upvotes: 2

Views: 3956

Answers (3)

trueblue
trueblue

Reputation: 306

I was facing the similar problem as you. I followed this link

I got the same error. By mistake i copied the whole Manifest file. But later i reverted back to the Manifest that Eclipse created for me and changed only the parts which are required for using phonegap.I followed the steps listed in the above link and it worked. (Ubuntu 10.04, Eclipse Kepler)

Upvotes: 0

Sandeep P
Sandeep P

Reputation: 4411

Got the same issues, irritating... now i got the temporary solution... copy the below files from any working project and pace in Current project..

ant.properties
build.xml
proguard-project.txt
project.properties
.classpath
.project  

NOTE: Replace all files at a time.. On updating work space i this issue raised to me.. it's working for me.. but didnt got the exact solution...
import the example project once.. Phonegap/lib/android/example for better understanding.

Upvotes: 0

d2uX
d2uX

Reputation: 241

I'd guess the package/activity name provided in your manifest.xml doesnt match the package/class name from your java file. That is what it's looking for:

Caused by: java.lang.ClassNotFoundException:     org.apache.cordova.example.cordovaExample 

And that is what it gets:

package com.example.yourappname;
...
public class MainActivity extends DroidGap {
...
}

How does your manifest.xml look like? Probably a copy-paste-error ;)

Upvotes: 2

Related Questions