zzx zzbq zzbgl onunhandledkeyeventlistener google gms failed didn common android appcompat android-appcompat

zzbq - java lang noclassdeffounderror failed resolution of lcom google android gms internal zzbgl



java.lang.NoClassDefFoundError: ResoluciĆ³n fallida de: Landroid/support/v4/os/BuildCompat (7)

Actualice la implementación com.google.android.gms: play-services-maps en gradle a una versión más nueva.

Eso funciona para mi.

He actualizado las bibliotecas de AppCompat a 24.2.1 y el SDK a Android 7 en mi instalación de Eclipse. Desde entonces, no soy capaz de ejecutar ninguna de mis aplicaciones. Agradezco si puedes ayudar un poco con eso ...

E/AndroidRuntime(17555): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat; E/AndroidRuntime(17555): at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:196) E/AndroidRuntime(17555): at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181) E/AndroidRuntime(17555): at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521) E/AndroidRuntime(17555): at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) E/AndroidRuntime(17555): at com.ryosoftware.calendareventsnotifier.MainActivity.onCreate(MainActivity.java:844) E/AndroidRuntime(17555): at android.app.Activity.performCreate(Activity.java:5990) E/AndroidRuntime(17555): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) E/AndroidRuntime(17555): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311) E/AndroidRuntime(17555): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420) E/AndroidRuntime(17555): at android.app.ActivityThread.access$900(ActivityThread.java:154) E/AndroidRuntime(17555): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) E/AndroidRuntime(17555): at android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime(17555): at android.os.Looper.loop(Looper.java:135) E/AndroidRuntime(17555): at android.app.ActivityThread.main(ActivityThread.java:5294) E/AndroidRuntime(17555): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(17555): at java.lang.reflect.Method.invoke(Method.java:372) E/AndroidRuntime(17555): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) E/AndroidRuntime(17555): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) E/AndroidRuntime(17555): Caused by: java.lang.ClassNotFoundException: Didn''t find class "android.support.v4.os.BuildCompat" on path: DexPathList[[zip file "/data/app/com.ryosoftware.calendareventsnotifier-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] E/AndroidRuntime(17555): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) E/AndroidRuntime(17555): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) E/AndroidRuntime(17555): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) E/AndroidRuntime(17555): ... 18 more E/AndroidRuntime(17555): Suppressed: java.lang.ClassNotFoundException: android.support.v4.os.BuildCompat E/AndroidRuntime(17555): at java.lang.Class.classForName(Native Method) E/AndroidRuntime(17555): at java.lang.BootClassLoader.findClass(ClassLoader.java:781) E/AndroidRuntime(17555): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) E/AndroidRuntime(17555): at java.lang.ClassLoader.loadClass(ClassLoader.java:504) E/AndroidRuntime(17555): ... 19 more E/AndroidRuntime(17555): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available


Agregué dos clases en mi paquete java y funciona bien, mantenga ambas clases como se muestra en la imagen a continuación:

AsyncTaskCompat.java

public class AsyncTaskCompat { /** * Executes the task with the specified parameters, allowing multiple tasks to run in parallel * on a pool of threads managed by {@link android.os.AsyncTask}. * * @param task The {@link android.os.AsyncTask} to execute. * @param params The parameters of the task. * @return the instance of AsyncTask. */ public static <Params, Progress, Result> AsyncTask<Params, Progress, Result> executeParallel( AsyncTask<Params, Progress, Result> task, Params... params) { if (task == null) { throw new IllegalArgumentException("task can not be null"); } if (Build.VERSION.SDK_INT >= 11) { // From API 11 onwards, we need to manually select the THREAD_POOL_EXECUTOR AsyncTaskCompatHoneycomb.executeParallel(task, params); } else { // Before API 11, all tasks were run in parallel task.execute(params); } return task; } }

AsyncTaskCompatHoneycomb.java

class AsyncTaskCompatHoneycomb { static <Params, Progress, Result> void executeParallel( AsyncTask<Params, Progress, Result> task, Params... params) { task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); } }


En mi caso

  1. proyecto limpio
  2. invalidar y reiniciar

es trabajo


En mi caso, el error se debió al uso de toda la biblioteca gms: play-services. Algunos componentes de gms: play-services se refieren a versiones distintas a las especificadas explícitamente por usted.

Utilice solo los servicios de reproducción necesarios, por ejemplo: ''com.google.android.gms: play-services-analytics: 10.2.0'' en lugar de ''com.google.android.gms: play-services: 10.2.0'' .

Consulte también: Todas las bibliotecas com.android.support deben usar exactamente la misma especificación de versión

Buena lectura: https://blog.mindorks.com/avoiding-conflicts-in-android-gradle-dependencies-28e4200ca235


Está obteniendo NoClassDefFoundError & ClassNotFoundException

NoClassDefFoundError en Java se produce cuando Java Virtual Machine no puede encontrar una clase particular en tiempo de ejecución que estaba disponible en tiempo de compilación.

FYI

Estás usando Eclipse. Android Studio es una forma mucho más simple de desarrollar para Android si logras dominarlo. Para los desarrolladores que han estado usando Eclipse, migrar a Studio es una pesadilla para ellos. Eclipse está muerto (Mi opinión personal).

Para su problema NoClassDefFoundError, vaya a la opción de reconstrucción en Project > Clean y luego seleccione el proyecto que desea limpiar. Luego reinicie su Eclipse y vuelva a ejecutarlo.

Soluciones

Verifique que su classpath contenga ese jar (AppCompat), si su classpath no contiene el jar, simplemente agregue esa clase en su classpath.

Debe usar Android Studio en lugar de Eclipse . Leer

  1. Características de la biblioteca de soporte

El identificador de dependencia del script de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:appcompat-v7:24.2.1

Luego, Clean-Rebuild-Restart IDE


Otra razón fea para que esto se deba a esto es si está intentando adjuntar un depurador con punto de interrupción en algo que sucede durante la creación de la Actividad.


public class MApplication extends Application { @Override protected void attachBaseContext(Context paramContext) { super.attachBaseContext(paramContext); Helper.install(MApplication.this); } }

Aquí anulamos el método attachBaseContext () para agregar Helper.install(MApplication.this); línea de código

Nota: Dado que algunas de las clases de SDK ahora deben cargarse antes de usarlas, Helper.install () realiza el proceso de carga. El desarrollador necesita invocar este método antes de usar cualquier funcionalidad de SDK. De lo contrario, se producirán bloqueos inesperados. reference

A menos que la aplicación se bloquee con java.lang.NoClassDefFoundError: resolución fallida de: ....