tutorial studio programar programacion móviles español desde desarrollo curso con cero aplicaciones java android crash android-app-bundle

java - studio - programacion android pdf 2018



El paquete de aplicaciones de Android introduce el recurso No encontrado en la aplicación de Android (3)

Como esto sucede solo en los dispositivos con Android 4 después de migrar al paquete de aplicaciones de Android, descubrí una forma de esto después de agregar:

public class App extends Application { static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); }

Y en build.gradle: -

android { defaultConfig { vectorDrawables.useSupportLibrary = true } }

como se explica en este post: - Uso de dibujos vectoriales android dibujables en un accidente previo a Lollipop

Con respecto a la segunda pregunta: - Error del recurso no encontrado res / drawable / abc_switch_thumb_material.xml después de agregar SwitchCompat en el paquete de aplicaciones de Android

Como esto está pasando en todas las versiones de Android. Dejé de lado el Apk y pude reproducir el mismo error en logcat. Por lo tanto, esto solo puede solucionarse eliminando el SwitchCompat de mi proyecto, sé que es una solución temporal y Google seguramente debería hacer algo al respecto para que al menos no se produzcan fallos. después de descargar la apk, tal vez la mejor opción sería redirigir a Play Store. Sin embargo, el bloqueo de la aplicación después de migrar a Android App Bundle definitivamente afecta la estabilidad de la aplicación, ya que muchos usuarios lo hacen de forma regular.

Al usar el nuevo paquete de aplicaciones para Android, he encontrado que el recurso no encontrado se bloquea en 2 de mis aplicaciones de Google Play Store: -

Aquí está el stacktrace de la tela para una de la aplicación: -

Unable to start activity ComponentInfo{/com.Lastyear.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_item_background_holo_dark.xml from drawable resource ID #0x7f08002c at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5363) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) at dalvik.system.NativeStart.main(NativeStart.java)

Dependencias de build.gradle: -

dependencies { implementation fileTree(dir: ''libs'', include: [''*.jar'']) testImplementation ''junit:junit:4.12'' implementation ''com.android.support.constraint:constraint-layout:1.1.2'' implementation ''com.android.support:appcompat-v7:27.1.1'' implementation ''com.android.support:customtabs:27.1.1'' implementation ''com.android.support:cardview-v7:27.1.1'' implementation ''com.squareup.picasso:picasso:2.5.2'' implementation ''com.android.support:palette-v7:27.1.1'' implementation ''com.afollestad.material-dialogs:core:0.9.6.0'' implementation ''com.jakewharton:butterknife:8.8.1'' implementation ''com.github.bumptech.glide:glide:3.7.0'' implementation ''com.android.support:design:27.1.1'' annotationProcessor ''com.jakewharton:butterknife-compiler:8.8.1'' implementation ''com.github.hotchemi:android-rate:1.0.1'' implementation ''com.hannesdorfmann.smoothprogressbar:library:1.0.0'' implementation ''com.android.support:palette-v7:27.1.1'' implementation ''com.google.android.gms:play-services-ads:15.0.1'' implementation ''com.muddzdev:styleabletoast:1.0.9'' implementation ''com.github.GrenderG:Toasty:1.2.5'' implementation ''com.hannesdorfmann.smoothprogressbar:library:1.0.0'' implementation ''com.wang.avi:library:2.1.3'' implementation ''com.github.medyo:fancybuttons:1.8.4'' implementation ''com.irozon.sneaker:sneaker:1.0.1'' implementation ''com.sdsmdg.tastytoast:tastytoast:0.1.1'' implementation ''de.hdodenhof:circleimageview:2.2.0'' implementation ''com.github.barteksc:android-pdf-viewer:2.8.2'' implementation ''com.getkeepsafe.taptargetview:taptargetview:1.11.0'' implementation(''com.crashlytics.sdk.android:crashlytics:2.6.8@aar'') { transitive = true; } implementation ''petrov.kristiyan:colorpicker-library:1.1.8''}

Una cosa más está sucediendo solo en el sistema operativo Android 4, no en las nuevas versiones de Android. Lo que he encontrado es que otra aplicación tiene el mismo problema de Recurso no encontrado que no existía antes de usar el paquete de aplicaciones de Android. ¿Hay algún problema en la biblioteca o el código o es debido a la versión beta del paquete de aplicaciones de Android?

También he encontrado el recurso extraíble debido a que se bloquea: -

Creo que esta pregunta también está relacionada con esto: - Error al inflar la clase android.support.design.widget.NavigationView después de agregar SwitchCompat en el paquete de aplicaciones de Android


Es casi seguro que los usuarios compartan (descargan) la aplicación, ya sea a través de programas de intercambio P2P, o cargando el APK en la web y luego otros usuarios descargando e instalando desde la web.

La gente acostumbrada a tratar con aplicaciones que no son de aplicaciones de Android solo transfieren y comparten el APK principal. Pero la aplicación de su paquete de aplicaciones tiene muchos "archivos APK divididos" para cosas como los recursos, así es como ocurre el ahorro de tamaño. Puedes leer todo sobre este proceso en la página de ayuda . Si un usuario instala el APK principal sin instalar los APK de división correctos, se producirá un bloqueo de "Recursos no encontrados" la primera vez que la aplicación intente cargar un recurso.

Si desea admitir que los usuarios descarguen su aplicación y solo el APK principal, puede intentar detectar esta situación y mostrar un mensaje al usuario (sin usar ningún recurso) que diga "Instalar desde Google Play". O simplemente puedes decidir que no vas a apoyar a los usuarios que comparten APK de esta manera.

Sospecho que a la larga, los sitios web y los programas de intercambio de P2P mejorarán al compartir tales APK de manera adecuada, por lo que no me preocuparía demasiado.

Si ve que esto ocurre con mucha más frecuencia en las versiones inferiores de Android, esto probablemente no se deba a un error en las versiones inferiores de Android. En su lugar, es probable que se deba a que en los países donde los usuarios suelen compartir aplicaciones P2P (por ejemplo, la India) es mucho más probable que los usuarios tengan teléfonos con versiones anteriores.


Es probable que el problema se deba a que su aplicación se ha descargado, es decir, no se ha instalado a través de Play Store, y se han instalado manualmente APKs incompatibles en esos dispositivos.