No encontró la clase en la ruta: DexPathList?

Mi aplicación está funcionando bien cuando me prueba en el dispositivo real con USB en el estudio de Android. Pero cuando envío el apk a otro dispositivo e instalar allí, no es working.App obtener se estrelló.No encontré ninguna manera correcta de resolver el problema . Los errores se dan a continuación:

FATAL EXCEPTION: main Process: com.w3xplorers.cmch,PID: 17715 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.w3xplorers.cmch/com.w3xplorers.cmch.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.w3xplorers.cmch.MainActivity" on path: DexPathList[[zip file "/data/app/com.w3xplorers.cmch-1/base.apk"],nativeLibraryDirectories=[/data/app/com.w3xplorers.cmch-1/lib/arm, /system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2395) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) at android.app.ActivityThread.access$900(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:168) at android.app.ActivityThread.main(ActivityThread.java:5845) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.w3xplorers.cmch.MainActivity" on path: DexPathList[[zip file "/data/app/com.w3xplorers.cmch-1/base.apk"],nativeLibraryDirectories=[/data/app/com.w3xplorers.cmch-1/lib/arm, /system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]] 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:1085) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2385) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) at android.app.ActivityThread.access$900(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:168) at android.app.ActivityThread.main(ActivityThread.java:5845) at java.lang.reflect.Method.invoke(Native Method) atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) Suppressed: java.lang.ClassNotFoundException: com.w3xplorers.cmch.MainActivity 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) ... 12 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

Mi Manifiesto está abajo:

 `<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.w3xplorers.cmch"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.SEND_SMS" /> <application android:name="com.w3xplorers.cmch.EnableMultiDex" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name="com.w3xplorers.cmch.MainActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.w3xplorers.cmch.HomeActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.QuickSms" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.GroupSms" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.SelfSms" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.Contact" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.Favourite" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.Info" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name="com.w3xplorers.cmch.Dialog" /> </application> </manifest>` 

Gradle a continuación:

 apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.w3xplorers.cmch" minSdkVersion 13 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true } 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.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha5' compile 'com.android.support:design:25.3.0' compile 'com.andreabaccega:android-form-edittext:1.0.3' compile 'com.android.volley:volley:1.0.0' compile 'com.squareup.okhttp3:okhttp:3.3.1' compile 'com.android.support:multidex:1.0.1' testCompile 'junit:junit:4.12' } 

Vaya a su archivo build.gradle de nivel de proyecto y disminuya la versión de dependencia de gradle a algo inferior a 2.3.0 , digamos use 2.2.3

 dependencies { classpath 'com.android.tools.build:gradle:2.2.3' .... } 

A continuación, limpiar -> construir -> instalar debug apk a otro dispositivo -> puede ser bien entonces!

Como has dicho, construyes la aplicación y la empujas a tu teléfono a través de USB, creo que copiaste el apk de tu directorio de compilación y tratando de empujar y ejecutar en otro dispositivo. Por favor, intenta construir tu apk sin la orientación o la conexión de ningún dispositivo o emulador lo que quiero decir que construir su apk de la terminal sin conectar su dispositivo. O funcionará o mostrará algo.

En su etiqueta de aplicación, cambiar

 android:name="com.w3xplorers.cmch.EnableMultiDex" 

con

 android:name="android.support.multidex.MultiDexApplication" 

Espero que esto ayude 🙂

Mas información en:

https://developer.android.com/studio/build/multidex.html

Creo que el problema es AndroidStudio está atando para usar "Instant Run" en lugar de compilar e instalar un nuevo APK.

Deshabilite "Ejecutar instantáneamente" desde Archivo -> Configuración -> Creación, Ejecución, Implementación -> Ejecución instantánea.

En su build.gradle agregar

 defaultConfig { multiDexEnabled true } 

También agregue una dependencia como

 dependencies { compile 'com.android.support:multidex:1.0.0'} 
 defaultConfig { minSdkVersion 14 targetSdkVersion 21 multiDexEnabled true } dependencies { compile 'com.android.support:multidex:1.0.1' } 

También me enfrenté a un problema similar. En mi caso he resuelto el problema agregando esto debajo de buildTypes

 dexOptions { javaMaxHeapSize "4g" } 

También usado

 defaultConfig { multiDexEnabled true } 

y

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

No encontré ninguna solución perfecta para mi problema. Pero cuando subo mi apk en google jugar y descargar desde allí, la aplicación está funcionando bien.Esta es la solución más extraña que he encontrado.

  • Manifiesto de Android - "no tiene constructor predeterminado" con actividad / clase Runnable
  • AndroidManifest.xml con varias etiquetas de aplicación
  • Esquema de vinculación profunda de Android: coincide tanto con http como con https
  • ¿Cuál es el especificador para el host vacío en el filtro de intenciones?
  • El nombre del paquete de refactorización rompe toda la aplicación
  • AndroidStudio: No se puede resolver el símbolo MainActivity
  • Android: Intención de búsqueda no funciona
  • Cómo evitar que la aplicación se ejecute en tablets Android
  • No se encontró actividad de Lanzador, a pesar de haber sido declarada en manifest.xml
  • Diferencia entre auto y preferExternal instal location Android manifiesto
  • Iniciar otra actividad si la casilla está marcada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.