Я попробовал простое приложение Hello World со следующим 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>
Оба моих текстовых просмотра имеют одинаковый идентификатор. Он прекрасно компилируется, работает нормально, визуализирует оба TextViews, и когда я выполняю findViewByid (), первый обнаруживается, и к нему применяются все мои вызовы функций, такие как setText. В идеале, AAPT должен поймать это, но, очевидно, это не так. Это не сломает что-либо ужасно, если программист не полагается на идентификаторы. Так что все равно, что сказать: если вы достаточно глупы, чтобы написать такой код, значит, вы заслуживаете краха.
AAPT не слишком заботится об этом. Для него это похоже на простое расширение Views без явных идентификаторов, предоставляемых программистом.