Red de conocimiento informático - Conocimiento sistemático - Los errores encontrados en el empaquetado de código fuente de la aplicación RecyclerView

Los errores encontrados en el empaquetado de código fuente de la aplicación RecyclerView

El proyecto más reciente para crear una barra de notificaciones del sistema se llama MsgCenter. Desarrollado usando Android Studio.

Utiliza scripts para copiar y replicar.

LIBS = "/Users/love/Desktop/moran2/MsgCenter/app/libs "

SRC = "/Users/love/Desktop/Moran 2/msg center/app/ SRC/main/Java/* "

RES = "/Users/love/Desktop/Moran 2/msg center/app/src/main/RES "

Manifiesto de Android = " app/src/main/Android manifest . XML "

DES = "/Users/love/Desktop/Moran 2/msg center/msg center "

mkdir -p $DES/ src

LIBS DESIERTO

cp -r SRC DES/src

cp -r RES DES

JNI DESIERTO

cp Male List DES

cp Robot Design Company

Luego envíelo al servidor para empaquetarlo e informar de errores:

E/AndroidRuntime: excepción fatal: principal

Proceso: net.imoran.notification.lib, PID: 2630

Java .Exceptioniniinitializererror

en la ventana de notificación de imoran. administrador de ventanas de notificación. getinstance(administrador de ventanas de notificaciones. Java:115)

servicio de notificación de imoran.onbind.

Ubicado en el hilo de actividad de la aplicación de Android. handlebindservice(hilo de actividad. Java:3158)

Ubicado en el hilo de actividad de la aplicación de Android.-wrap 2(hilo de actividad. Java)

en la aplicación de Android. h. maneja el mensaje (hilo de actividad. Java:1582) en el controlador del sistema operativo Android. :207) en el hilo de actividad de la aplicación de Android. Principal (hilo de actividad. Java:5795) en el idioma de Java. Invocar (método nativo) en com. SO interno . zygoteinit . main(zygoteinit . Java:724)

Causa: vista inflada de Android: línea n.º 7 del archivo XML binario.

Línea #7: Error al inflar la clase Android. Widget V7. Vista de reciclaje

Ubicado en Android.view .layoutinflate.inflate(layoutinflate.Java:539)

Ubicado en Android. .view .layoutinflate . Java:423)

En Android .layoutinflate . .administrador de notificaciones .initrootview(administrador de notificaciones . Java:51)

en net .administrador de ventanas de notificaciones . p>

en net . imoran . lib administrador de ventanas de notificación . . administrador de ventanas de notificación. <init & gt(NotificationWindowManager.java:34)

en net. imoran administrador de ventanas de notificación.

(administrador de ventanas de notificación. Java:111654 38+0) en net. imoran. administrador de ventanas de notificación. onbind(starstatusservice. Java:32)en la aplicación Android.

En el sistema operativo Android. looper. loop(looper. Java:207)

en el hilo de actividad de Android. Java .reflect .Método invocar (método nativo)

en .sistema operativo zygoteinit . main(zygoteinit. Java:724) Razón: Android. Excepción de inflado: línea de archivo XML binario #7: Error al inflar el widget de clase V7 en la vista de diseño. flater .Java:645)en la vista de Android .diseño en flater& ltclinit & gt(administrador de ventanas de notificación .Java:111)

en imoran lib de notificación. administrador de ventanas de notificación. Java:115)

en net. imoran. servicio de notificación. . hilo de actividad. handlebindservice(hilo de actividad. Java:3158)

En la aplicación de Android.-wrap 2(hilo de actividad. Java)

en Android.

hilo de actividad de la aplicación h. mensaje de manejo (hilo de actividad. Java:1582) en el sistema operativo Android. hilo de actividad de la aplicación. principal (hilo de actividad. Java:5795) en el sistema operativo Android. main (zygoteinit. Java:724)

Razón: Java.lang.invocationtargetexception

en Java reflect.

En Android vista .layoutinflater .create view(layoutinflater .Java:619)

En Android . . vista .layoutinflater .createviewfromtag(layoutinflater . Java:704)

En vista Android . rinflatechildren (layoutinflate. Java:798)

En la vista de Android. Java: 423)

En Android .layoutinflate.Java:374)

en net. manager . Java:51)

en net . imoran . administrador de ventanas lib . administrador de ventanas .lib.

. administrador de ventanas de notificación . NotificationWindowManager.java:34)

en net. imoran administrador de ventanas de notificación lib.

(administrador de ventanas de notificación. Java:111654 38+0) en net. imoran. administrador de ventanas de notificación. onbind(starstatusservice. Java:32)en la aplicación de Android.

En el sistema operativo Android. looper. loop(looper. Java:207)

en el hilo de actividad de Android. Java .reflect .Método invocar (método nativo)

com .sistema operativo zygoteinit . main(zygoteinit. Java:724) Motivo: java.lang.NoClassDefFoundError: no se pudo analizar land roid/support/V7/recycle view/R styleable;

En Android se admite el reciclaje. ver <init>(RecyclerView.java:590)

En Android .soporte .V7.widget.recycleview.<init>(recycleview.Java:551)

En Java. lang.reflejar.constructor.nueva instancia (método nativo)

en la vista de diseñoinflador. (layoutinflater. Java:764)

Ubicado en la vista de Android. Java:835)

Ubicado en la vista de Android.

ayoutinflatechildren(layoutinflater. Java:798)

Ubicado en la vista de Android. inflate(layoutinflate. Java:423)

en la vista de Android. inflate(layoutinflate. Java:374)

en el administrador de notificaciones . . initrootview (administrador de notificaciones. Java:51)

en net. . lib. administrador de ventanas de notificaciones. initadapterview(administrador de ventanas de notificaciones. Java:200). en net . imoran . lib administrador de ventanas de notificación . administrador de ventanas. <init>(NotificationWindowManager.java:34)

en net. imoran administrador de ventanas de notificación.

(administrador de ventanas de notificación. Java:111654 38+0) en net. imoran. administrador de ventanas de notificación. onbind(starstatusservice. Java:32)en la aplicación Android.

En el sistema operativo Android. looper. loop(looper. Java:207)

en el hilo de actividad de Android. Java .reflect .Método invocar (método nativo)

com .sistema operativo zygoteinit . .main(zygoteinit.Java:724) Motivo: Java.lang.classNotFoundException: Clase "Android.support.V7" no encontrada en la ruta: DexPathList[[archivo zip]/fly system/app/mor-notification.apk"] . vista de reciclaje .r styleable"/lib/arm64-v8a,/vendor/lib64,/system/lib64]]

Ubicado en dal vik .system .basedexclassloader .find class(basedexclassloader .Java:56)

Ubicado en Java.lang.cargador de clases.(cargador de clases.Java:511)

Ubicado en Java.lang.cargador de clases. )

En Android. Widget V7. Vista de reciclaje. <init>(vista de reciclaje. Java:551)

en Java .reflejar nueva instancia (método nativo)

.

En Android, vista .layoutinflater.create view(layoutinflater.Java:619)

En Android. . vista .layoutinflater .createviewfromtag(layoutinflater . Java:704)

En vista Android . rinflatechildren(layoutinflate. Java:798)

Ubicado en la vista de Android. layoutinflate . Java:423)

en la vista de Android. (administrador de notificaciones. Java:51)

en net. imoran. administrador de ventanas de notificaciones. lib. initadapterview(administrador de ventanas de notificaciones. Java:200). imoran . lib administrador de ventanas de notificación . <init>(NotificationWindowManager.java:34)

en net. imoran administrador de ventanas de notificación.

(administrador de ventanas de notificación. Java:111654 38+0) en net. imoran. administrador de ventanas de notificación. onbind(starstatusservice. Java:32)en la aplicación Android.

En el sistema operativo Android. looper. loop(looper. Java:207)

en el hilo de actividad de Android. Java.lang.reflejar.Método.invocar(método nativo)

en.Android.OS.yargscaller. zygoteinit.main(zygoteinit.Java:724)Suprimido:Java lang.classnotfoundexception:Android soporte V7 r styleable

Ubicado en java.lang.Class.classForName(método nativo). /p>

en Java. idioma. cargador de clases de arranque. encontrar clase(cargador de clases. Java:781)

en idioma de Java. >

Ubicado en Java .lang . cargador de clases. cargar clase(cargador de clases. Java:504)

...28 actualizaciones

Causa: java.lang.NoClassDefFoundError: Utilice la clase no encontrada por el cargador de clases de inicio; no hay seguimiento de pila disponible

07-20 14:14:31.557 2630-2664/net lib I/System:FinalizerDaemon:finalize objects = 2695<. /p>

Podemos ver en el registro:

1. Línea de archivo XML binario n.° 22: Línea de archivo XML binario n.° 39: Error de vista de reciclaje de clase inflada. /p>

2. También existe ese idioma Java.

lassdefounterror: Error al analizar: Android/support/V7/recycler view/r $ styleable.

3. Motivo: Java . lang . classnotfoundexception: No se encontró la clase "Android . support . V7 . recycle view . r $ styleable". Al principio revisé en línea:

Descubrí que todos decían que estaba en eclipse o Android Studio porque la versión del SDK no coincidía, etc. Algunas personas dicen que sería mejor cambiar a un paquete de Android. El jar de vista de reciclaje de soporte .V7 usa la versión coincidente, pero no funciona debido a los diferentes métodos de desarrollo aquí. Pero por favor hágamelo saber es esta versión.

Entonces

Alguien dijo que sí.

targetSDKVersion en 1. AndroidManifest.xml es incorrecto, corríjalo -> NOK.

2. Algunas propiedades en build.gradle son incorrectas. Reparar -> pariente más cercano

Debido a que la aplicación es una apk independiente, vaya al código fuente de Android 5.0 y 6.0 para buscar Android. soporte .V7. vista de reciclaje.

Al mismo tiempo, noté estos dos errores.

2. Al mismo tiempo, también existe Java .noclassdefounterror: Error de análisis: Android/support/V7/recycler view/r $ styleable.

3. Motivo: Java . lang . classnotfoundexception: No se encontró la clase "Android . support . V7 . recycle view . r$styleable"

Podemos ver en el registro

p>

En Android. V7. widget de reciclaje. view & lt;init>(RecyclerView.java:409)

Error en las líneas 409 y 440 de RecyclerView.

Lo encontré en FrameWorks/support/V7/recycle view/src/Android/support/V7/widget/recycle view Java.

Se utiliza el atributo de vista R . styleable . recycle y aparecen errores R$styleable en los puntos 2 y 3 del registro.

Está muy claro: el recurso r styleable recycle view se utiliza en la clase RecyclerView de la versión 6.0 de Android. La clase RecyclerView en la versión android5.0 no usa r styleable recycle view

Vuelva al directorio frameworks/support/V7/recycle view/ y lo descubrirá.

-5.0 no tiene carpeta res/.

-6.0 lo tiene.

Así que resumámoslo ahora en el medio campo, porque la clase RexyclerView en andorid5.0 no usa recursos res, pero 6.0 sí.

También hay recursos/recursos para 6.0. Solo se puede decir que no tenemos referencia, o no cargamos ni compilamos los recursos correspondientes.

La pregunta vuelve a surgir: ¿dónde se cargan los res/recursos?

Existe un párrafo de este tipo debajo del archivo android.mk.

Encontré la imagen de la vista Android-support-V7-recycler.

¿Qué significa este contenido?

1. local_static_java_libraries biblioteca Java estática local.

2. Archivo de recursos local LOCAL_resOURCE_DIR, el valor predeterminado es la ruta RES correspondiente y $(LOCAL_PATH)/res en el paquete del producto y el paquete del dispositivo.

3.LOCAL_AAPT_FLAGS += -c ldpi -c mdpi

Lo anterior especifica que ldpi y mdpi se empaquetan en tiempo de compilación. Si el sistema utiliza de forma predeterminada hdpi, se empaquetarán los tres.

Al final del intermedio, es obvio que el recurso res no está cargado.

Así que simplemente agregue FrameWorks/support/V7/recycle view/RES en LOCAL_RESOURCE_DIR.

El contenido del archivo Android.mk se convierte en:

Recompilar y ejecutar normalmente.

============================================ = =================================================== = =========

De hecho, debido a la actualización de la versión de Android, la forma de crear LayoutManager en RecyclerView ha cambiado. Falta la vista de reciclaje r . styleable en la versión anterior, pero no está compilada en el nuevo entorno, por lo que aparece este error.

Joven héroe, también puedes definir un ` ` ` `` `` en res/attrs.xml en el paquete.

En general no queda muy claro, perdóname. .