title: java.lang.ClassNotFoundException in dalvik.system.BaseDexClassLoader.findClass
body: <p>This error is driving me crazy. My app crashes at startup when downloaded from the Google Play Store with the error:</p>
  
  <pre><code>java.lang.ClassNotFoundException
  in dalvik.system.BaseDexClassLoader.findClass
  </code></pre>
  
  <p>My app doesn't crash when build from eclipse on our two devices. However a month ago a client used his phone to build our app in and then it also crashed on startup. I ignored the problem then because it was working on our devices and figured it had something to do with Google Map keys or Keystore.</p>
  
  <p>Now it turns out our app crashes on every device when downloaded from the Play Store. I understand that there isn't an easy way to solve this problem but a push in the right direction would be appreciated.</p>
  
  <p>I also find it hard to debug this problem because the app works great when build from eclipse on our devices!</p>
  
  <p>Here is the complete error log that I reported:</p>
  
  <pre><code>java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.denederlandsewateren.winkeloord/com.denederlandsewateren.views.StartScreenActivity}: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
  at android.app.ActivityThread.access$600(ActivityThread.java:142)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:4931)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:511)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
  at dalvik.system.NativeStart.main(Native Method)
  Caused by: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
  at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
  ... 11 more
  </code></pre>
  
  <p>Again I dont except a straight forward answer to this problem but maybe somebody can shed some light on this problem provided with this error log.</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Here is the Manifest file if thats helpfull:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.xxxx.xxxxx"
      android:versionCode="1"
      android:versionName="1.0" &gt;
  
      &lt;permission
          android:name="com.xxxxx.xxxxx.MAPS_RECEIVE"
          android:protectionLevel="signature" /&gt;
      &lt;permission
          android:name="com.xxxxx.xxxxx.permission.C2D_MESSAGE"
          android:protectionLevel="signature" /&gt;
  
      &lt;uses-permission android:name="my_app_package.permission.C2D_MESSAGE" /&gt;
      &lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /&gt;
      &lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /&gt;
      &lt;uses-permission android:name="android.permission.WAKE_LOCK" /&gt;
      &lt;uses-permission android:name="com.xxxxxx.xxxxx.MAPS_RECEIVE" /&gt;
      &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
      &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  
      &lt;uses-feature
          android:glEsVersion="0x00020000"
          android:required="true" /&gt;
  
      &lt;uses-sdk
          android:minSdkVersion="8"
          android:targetSdkVersion="17" /&gt;
  
      &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.CALL_PHONE" /&gt;
      &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.VIBRATE" /&gt;
  
      &lt;application
          android:allowBackup="true"
          android:icon="@drawable/app_icon"
          android:label="@string/app_name"
          android:theme="@style/Theme.Sherlock" &gt;
          &lt;service android:name="com.xxxxxx.xxxxx.GCMIntentService" /&gt;
  
          &lt;meta-data
              android:name="com.google.android.maps.v2.API_KEY"
              android:value="xxxxxxxx" /&gt;
  
          &lt;receiver
              android:name="com.google.android.gcm.GCMBroadcastReceiver"
              android:permission="com.google.android.c2dm.permission.SEND" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
                  &lt;action android:name="com.google.android.c2dm.intent.REGISTRATION" /&gt;
  
                  &lt;category android:name="com.xxxxxx.xxxxxxx" /&gt;
              &lt;/intent-filter&gt;
          &lt;/receiver&gt;
  
          &lt;activity
              android:name="com.xxxxx.xxxxx.MainActivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait"&gt;
              &lt;!--&lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt; --&gt;
          &lt;/activity&gt;
  
          &lt;meta-data
              android:name="com.facebook.sdk.ApplicationId"
              android:value="@string/app_id" /&gt;
  
          &lt;activity android:name="com.facebook.LoginActivity" &gt;
          &lt;/activity&gt;
          &lt;activity
              android:name="com.xxxxxx.xxxxxx.StartScreenActivity"
              android:label="@string/app_name" 
              android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
              android:screenOrientation="portrait"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>Added the verbose log when installing the app on the device</p>
  
  <pre><code>03-30 17:56:28.554: D/dalvikvm(5150): GC_FOR_ALLOC freed 233K, 68% free 2639K/8195K, paused 13ms, total 13ms
  03-30 17:56:28.574: I/dalvikvm-heap(5150): Grow heap (frag case) to 26.682MB for 16777232-byte allocation
  03-30 17:56:28.594: D/dalvikvm(5150): GC_CONCURRENT freed &lt;1K, 23% free 19022K/24647K, paused 2ms+9ms, total 21ms
  03-30 17:56:29.114: D/dalvikvm(5150): GC_FOR_ALLOC freed 0K, 23% free 19022K/24647K, paused 15ms, total 15ms
  03-30 17:56:29.129: I/dalvikvm-heap(5150): Grow heap (frag case) to 35.681MB for 9437200-byte allocation
  03-30 17:56:29.169: D/dalvikvm(5150): GC_CONCURRENT freed 0K, 17% free 28238K/33927K, paused 2ms+2ms, total 38ms
  03-30 17:56:29.254: D/libEGL(5150): loaded /system/lib/egl/libEGL_mali.so
  03-30 17:56:29.259: D/libEGL(5150): loaded /system/lib/egl/libGLESv1_CM_mali.so
  03-30 17:56:29.259: D/libEGL(5150): loaded /system/lib/egl/libGLESv2_mali.so
  03-30 17:56:29.284: D/OpenGLRenderer(5150): Enabling debug mode 0
  03-30 17:56:32.154: D/KEY(5150): UUID
  03-30 17:56:32.179: I/System.out(5150): UUID: xxxxxxxxxxxxxx
  03-30 17:56:32.179: E/SerializeObject(5150): FileNot Found in ReadSettings filename = xxxxx.dat
  03-30 17:56:32.184: D/GCMRegistrar(5150): resetting backoff for com.xxxxx.xxxxx
  03-30 17:56:32.214: V/GCMRegistrar(5150): Registering app com.xxxxx.xxxxx of senders 752727514714
  03-30 17:56:32.214: D/KEY(5150): pushEnabled
  03-30 17:56:32.324: V/SlidingMenu(5150): setting padding!
  03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.409: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.414: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.414: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.424: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.424: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.429: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
  03-30 17:56:32.459: V/CustomViewBehind(5150): behind INVISIBLE
  03-30 17:56:36.894: D/dalvikvm(5150): GC_CONCURRENT freed 20031K, 58% free 15574K/36551K, paused 4ms+7ms, total 49ms
  03-30 17:56:36.894: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 31ms
  03-30 17:56:37.504: I/System.out(5150): VaarApp ID: 5
  03-30 17:56:37.534: I/Choreographer(5150): Skipped 122 frames!  The application may be doing too much work on its main thread.
  03-30 17:56:37.539: V/GCMBroadcastReceiver(5150): onReceive: com.google.android.c2dm.intent.REGISTRATION
  03-30 17:56:37.544: V/GCMBroadcastReceiver(5150): GCM IntentService class: com.xxxxx.xxxxx.GCMIntentService
  03-30 17:56:37.549: V/GCMBaseIntentService(5150): Acquiring wakelock
  03-30 17:56:37.794: V/GCMBaseIntentService(5150): Intent service name: GCMIntentService-DynamicSenderIds-1
  03-30 17:56:37.794: E/GCMRegistrar(5150): internal error: retry receiver class not set yet
  03-30 17:56:37.794: V/GCMRegistrar(5150): Registering receiver
  03-30 17:56:37.799: D/GCMBaseIntentService(5150): handleRegistration: registrationId = xxxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxx-xxxxx-xxxx, error = null, unregistered = null
  03-30 17:56:37.799: D/GCMRegistrar(5150): resetting backoff for com.xxxxx.xxxxx
  03-30 17:56:37.799: V/GCMRegistrar(5150): Saving regId on app version 1
  03-30 17:56:37.829: V/GCMBaseIntentService(5150): Releasing wakelock
  03-30 17:56:39.169: D/dalvikvm(5150): GC_CONCURRENT freed 2248K, 52% free 17830K/36551K, paused 6ms+12ms, total 95ms
  03-30 17:56:39.169: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 12ms
  03-30 17:56:39.174: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 48ms
  03-30 17:56:41.164: I/dalvikvm(5150): Jit: resizing JitTable from 4096 to 8192
  03-30 17:56:42.229: D/dalvikvm(5150): GC_CONCURRENT freed 4265K, 49% free 18778K/36551K, paused 3ms+6ms, total 58ms
  03-30 17:56:42.229: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 41ms
  03-30 17:56:42.234: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 46ms
  03-30 17:57:51.759: D/dalvikvm(5150): GC_CONCURRENT freed 5476K, 49% free 18775K/36551K, paused 21ms+6ms, total 196ms
  </code></pre>