Android Flow example crashes with ClassNotFoundException

252 Views Asked by At

I'm Naive in Android development. I tried to use flow/mortar for development and stuck with an exception.

Here's what I did. In Eclipse, I chose New (Crtl N) -> Android Project from existing code and imported the flow sample downloaded from the square flow website https://github.com/square/flow/. Eclipse marked errors in all the files as the package name was not matching the file's location. So to fix the package mismatch issue, I moved the files
from : \flow-master\flow-sample\src\main\java\com\example\flow
to     : \flow-master\flow-sample\src\com\example\flow.

After this, I got some more errors saying 'Unresolved to a Type' which I fixed by importing proper jar files. Now all the errors are cleared and I tried to install and launch the app.

The app crashes as soon as we launch with the Logcat error below:

 E/AndroidRuntime(5438): FATAL EXCEPTION: main  
 E/AndroidRuntime(5438): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.flow/com.example.flow.MainActivity}: java.lang.ClassNotFoundException: com.example.flow.MainActivity  
 E/AndroidRuntime(5438):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1888)  
 E/AndroidRuntime(5438):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1989)  
 E/AndroidRuntime(5438):    at android.app.ActivityThread.access$600(ActivityThread.java:126)  
 E/AndroidRuntime(5438):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1155)  
 E/AndroidRuntime(5438):    at android.os.Handler.dispatchMessage(Handler.java:99)  
 E/AndroidRuntime(5438):    at android.os.Looper.loop(Looper.java:137)  
 E/AndroidRuntime(5438):    at android.app.ActivityThread.main(ActivityThread.java:4482)  
 E/AndroidRuntime(5438):    at java.lang.reflect.Method.invokeNative(Native Method)  
 E/AndroidRuntime(5438):    at java.lang.reflect.Method.invoke(Method.java:511)  
 E/AndroidRuntime(5438):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)  
 E/AndroidRuntime(5438):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)  
 E/AndroidRuntime(5438):    at dalvik.system.NativeStart.main(Native Method)  
 E/AndroidRuntime(5438): Caused by: java.lang.ClassNotFoundException: com.example.flow.MainActivity
 E/AndroidRuntime(5438):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)  
 E/AndroidRuntime(5438):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)  
 E/AndroidRuntime(5438):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)  
 E/AndroidRuntime(5438):    at android.app.Instrumentation.newActivity(Instrumentation.java:1023)  
 E/AndroidRuntime(5438):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)  
 E/AndroidRuntime(5438):    ... 11 more

The error says that the file MainActivity is not found even when the file is available in the path com.example.flow.. Can someone please help me understand what the issue is?

Android Manifest

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.flow"
        android:versionCode="1"
        android:versionName="1.0">
          <uses-sdk
              android:minSdkVersion="14"
              android:targetSdkVersion="18"/>

          <application
              android:icon="@drawable/flow_icon">
            <activity
                android:label="Flow"
                android:name="com.example.flow.MainActivity"
                android:theme="@android:style/Theme.Holo.Light.DarkActionBar">
              <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

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

There are 0 best solutions below