que intentaron una sencilla aplicación Hello World con el siguiente código XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="text1"
/>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="text2"
/>
</LinearLayout>
Mis dos textviews tienen el mismo ID. Se compila bien, funciona bien, renderiza ambos TextViews, y cuando hago un findViewByid() se encuentra el primero y se le aplican todas las llamadas a funciones como setText. Idealmente, la AAPT debería detectar esto, pero aparentemente no es así. No romperá algo terriblemente a menos que el programador confíe en los id. Así que es como decir: si eres lo suficientemente tonto como para escribir un código así, entonces mereces fallar.
A la AAPT no le importará demasiado. Para ello, esto es como una simple extensión de Vistas sin identificadores explícitos provistos por el programador.
De los documentos: Una ID no necesita ser única en todo el árbol, pero debe ser única dentro de la parte del árbol que está buscando (que a menudo puede ser todo el árbol, por lo que es mejor ser completamente único cuando sea posible) – Lucas