¿Por qué Android no puede lidiar con el conflicto de nombres de recursos entre Project y Library?

Tengo un proyecto A que hace referencia a la Biblioteca B, A y B tienen el mismo nombre y el mismo tipo, pero su valor es diferente. Creo que aapt debe tratar este problema que asegurarse de que el proyecto y la biblioteca de acceso el valor correcto. además de cambiar el nombre de todos los recursos en el proyecto o la biblioteca, ¿qué más debo hacer para resolver este problema?

El sistema de compilación intencionalmente hace que todos los recursos del proyecto se superpongan en la parte superior de los recursos de la biblioteca. Esto se hace a propósito para poder personalizar un recurso de biblioteca de forma diferente dependiendo de la aplicación que lo utilice.

Si desea evitar que esto suceda sin su conocimiento siempre hemos recomendado a los usuarios que usen prefijo en los recursos de la biblioteca.

Cambiar el comportamiento en este punto rompería muchos proyectos de muchas personas. Hemos estudiado la posibilidad de que sea una opción, pero no sucederá antes de que el nuevo sistema de compilación esté terminado.

Según el proceso de construcción de Android , todos los proyectos y bibliotecas (y todos los recursos de todos ellos) se combinan como parte del proceso apkbuilder. Si hay un conflicto entre el proyecto y la biblioteca (o entre dos bibliotecas), la compilación final no sabrá a qué hacer referencia ya que comparten el mismo nombre. Por supuesto, esto tiene beneficios ya que puede hacer referencia a los recursos de la biblioteca en su proyecto por su nombre, aunque el proceso de creación subyacente está desactivando los IDs subyacentes.

Importe el archivo R.java adecuado para resolver los conflictos de recursos.

  1. Asegúrese de que el nombre del paquete y los nombres de los paquetes de la biblioteca sean diferentes.

  2. Si necesita sus recursos de bibliotecas, consulte a ellos por library.packagename.R.drawable.resourceId y no por R.drawable.resourceId

  3. Compruebe sus archivos gen si tiene 2 archivos R.java.

  • ¿El directorio elaborable de Android puede contener subdirectorios?
  • Android: programaticamente setId es da una advertencia Esperado recurso de tipo id
  • ¿Cómo puedo convertir los recursos de Android a una cadena. Eg .: android.R.string.cancel?
  • Plural NotFoundException sólo en los teléfonos Huawei
  • Acceso a recursos enteros en xml
  • Cómo eliminar los recursos no utilizados de las bibliotecas?
  • Xamarin Archivo de recursos Android no encontrado
  • No se puede encontrar el recurso, No se identifica el elemento que falta
  • Android: Cómo acceder a la carpeta de recursos de otra aplicación de Android
  • Roboeléctrico con test.R.java
  • Arrays de recursos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.