Android Build en Eclipse no genera los ids de recursos correctos en R.java
Tengo un proyecto de Android que incluye referencias a un proyecto de biblioteca. El proyecto de biblioteca contiene un recurso (un paquete de bytecode de renderscript). El proyecto principal también tiene sus propios recursos, incluyendo un diseño, que contiene un campo que se parece a esto:
<EditText android:id="@+id/edit_name" />
Cuando construyo mi proyecto principal en ant, y llamo findViewById(R.id.edit_name)
en tiempo de ejecución, la llamada devuelve el componente EditText que espero. Pero cuando limpio los proyectos y los construyo en Eclipse findViewById(R.id.edit_name)
devuelve null
.
- La construcción de un proyecto de prueba Android con Jenkins falla debido a un error subyacente
- Ant falla al crear apk firmado después de actualizar a android v20
- Predeterminación de destino en Ant
- ¿Cómo pasar argumentos a aapt al construir android apk?
- Ant Build AAPT Crunch está eliminando la información draw9 de las imágenes de recursos de la biblioteca
La depuración de la llamada muestra que mi componente está presente en la vista en tiempo de ejecución y, de hecho, tiene un id asignado, pero no es el mismo id que el valor de R.id.edit_name (en este caso, el id en R.java y el runtime de R.id.edit_name == 0x7f070000, mientras que la Vista actual que existe en tiempo de ejecución tiene mId == 0x7f080000)
Con la construcción de hormigas, R.java se crea con R.id.edit_name === 0x7f080000 (que coincide con el id que observo al ejecutar la aplicación).
Cuando elimino la dependencia de la biblioteca en Eclipse, R.java contiene R.id.edit_name == 0x7f070000, pero también lo hace el tiempo de ejecución, y todo funciona bien.
Me doy cuenta de que una buena respuesta es presentar un informe de fallo con ADT / Eclipse, y usar ant para construir, pero estoy desarrollando la biblioteca y quiero estar seguro de que es compatible con los usuarios de Eclipse. Así que lo que me pregunto es:
- ¿Hay errores conocidos en Eclipse que pueden causar este tipo de cosas? ¿Existen soluciones conocidas?
- Si no, ¿cuál es el siguiente paso de depuración?
Editar:
Resulta que esto está asociado con el uso de un recurso de Renderscript: cuando elimino el renderscript, el problema desaparece (ambos proyectos usan la etiqueta de tipo "07" en sus ids). Aún me encantaría oír hablar de una solución, pero para ahora parece que los renderscripts personalizados en los proyectos de biblioteca construidos por Eclipse no son iniciales. Como referencia, estoy usando el último y mejor Eclipse ADT (22.2.1)
- Cómo poner un tarro en classpath en Eclipse?
- Agregue archivos a la carpeta META-INF dentro de Android .apk automáticamente
- Maven y android - Creaciones ligeramente diferentes para diferentes entornos
- Utilizar Ant para crear un proyecto y ejecutar la aplicación Android de JUnit Test, pero falla la prueba Ant Junit
- Problema de Ant después de actualizar las herramientas de Android SDK a la revisión 14
- ¿Cómo hago referencia a los archivos jar externos en un directorio común (no libs) para construir el proyecto android usando hormiga?
- Documentación para el elemento aapt en la secuencia de comandos Ant
- Cómo especificar la carpeta lib para JARs cuando se utiliza un archivo de generación de hormigas generado por Android?
- Cómo abrir mi aplicación Android nativa desde una entrada en Facebook
- Android PreferenceScreen margen de relleno