1

I am using Android studio 2.3.1 on windows 10. When I tried to run the app on device, when my device is connected to android studio, then I am able to run the app. But when I tried to install its debug or release apk on android phone then it is getting installed but while opening the app it gives following error:

04-27 10:06:31.675 30541-30541/package name E/AndroidRuntime: FATAL EXCEPTION: main
Process: package_Name, PID: 30541
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{package Name/package_Name.SplashActivity}: java.lang.ClassNotFoundException: Didn't find class "package_Name.SplashActivity" on path: DexPathList[[zip file "/data/app/package_Name-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2227)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
at android.app.ActivityThread.access$800(ActivityThread.java:147)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:695)

Caused by: java.lang.ClassNotFoundException: Didn't find class "package_Name.SplashActivity" on path: DexPathList[[zip file "/data/app/package_Name-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2217)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376) 
at android.app.ActivityThread.access$800(ActivityThread.java:147) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5253) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:695) 
Suppressed: java.lang.ClassNotFoundException: package Name.SplashActivity
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

Any help will be appreciated. My gradle code

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "package_Name"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:25.3.1'
    testCompile 'junit:junit:4.12'
}
ASK
  • 23
  • 1
  • 10
  • Can you share your gradle code? – Abdul Kawee Apr 27 '17 at 04:44
  • May be the _"package Name"_ that should be `com.example.SomeClassName` instead of the package name containing white spaces. – Shashanth Apr 27 '17 at 04:52
  • @Shashanth It is like "com.businessName.projectName" – ASK Apr 27 '17 at 04:57
  • ASK try to run after uncheck instant run – Dileep Patel Apr 27 '17 at 04:59
  • @ASK refer [this](http://stackoverflow.com/q/27698287/5180017) StackOverflow thread. – Shashanth Apr 27 '17 at 05:00
  • Please check that it is searching for the path package_name/SplashActivity, But in zip file of apk the path is changing "package_name-1/SplashActivity" `Caused by: java.lang.ClassNotFoundException: Didn't find class **"com.packagename.fb.SplashActivity"** on path: DexPathList[[zip file **"/data/app/com.packagename.fb-1/base.apk"]**,nativeLibraryDirectories=[/vendor/lib, /system/lib]]` – ASK Apr 27 '17 at 05:05
  • @DileepPatel Thank you .. Your Solution worked... (Uncheck instant run) – ASK Apr 27 '17 at 05:42
  • your welcome ASK – Dileep Patel Apr 27 '17 at 05:45

5 Answers5

3

You can solve this with just "Build (tab) / Build APK" instead of Run 'app'

NaiveBz
  • 834
  • 2
  • 8
  • 19
0

@ASK could you please clean your project and rebuild it. This is the error mostly obtained when your apk is not properly created

Aditi
  • 389
  • 4
  • 13
0

Your package name should not contain space as from your code their is space in the package name

Please change it to like package.name

Sukhbir
  • 1,410
  • 14
  • 33
0

The problem might have occurred because you have you might have exceeded the 64k method limit.

You should consider enabling multidex in your app.

defaultConfig {
    ...
    ...

    // Enabling multidex support.
    multiDexEnabled true
}

dependencies {
compile 'com.android.support:multidex:1.0.0'
}

Also add this to manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.android.multidex.myapplication">
   <application
       ...
       android:name="android.support.multidex.MultiDexApplication">
       ...
   </application>
</manifest>
Chetan Ashtivkar
  • 194
  • 2
  • 15
  • I apply your solution but it is not working. Please look at line: `Caused by: java.lang.ClassNotFoundException: Didn't find class ** "com.packagename.fb.SplashActivity" ** on path: DexPathList[[zip file ** "/data/app/com.packagename.fb-1/base.apk"] **,nativeLibrary‌​Directories=[/vendor‌​/lib, /system/lib]]` – ASK Apr 27 '17 at 05:18
  • Your package name seem to have some anomaly here. Didn't find class ** **"com.packagename.fb.SplashActivity"** and **"/data/app/com.packagename.fb-1/base.apk"** – Chetan Ashtivkar Apr 27 '17 at 05:29
-1

Uncheck Instant Run.. How to do this:

  1. Open the Settings or Preferences dialog: On Windows or Linux, select File > Settings from the menu bar. On Mac OSX, select Android Studio > Preferences from the menu bar.
  2. Navigate to Build, Execution, Deployment > Instant Run.
  3. Uncheck the box next to Restart activity on code changes.
ASK
  • 23
  • 1
  • 10