У меня есть приложение для Android, которое компилируется и работает нормально. Недавно я хочу добавить ресурс id, который я могу использовать для динамического присвоения id макету, который я раздуваю на лету. Для этого я создал XML-файл в/RES/значений/называется ids.xml (имя файла не имеет значения, как я пробовал разные имена)Проблема с компилятором Android с типом ресурса id (код выхода 139)
Содержимое файла достаточно просто, вдоль линий
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="newLayoutId"/>
<item type="id" name="otherLayoutId"/>
</resources>
Как только этот файл будет добавлен в мой проект, он больше не будет обобщит дает следующее сообщение об ошибке
android-apt-compiler: Command "/Users/X/Source/Android Eclipse/sdk/platform-tools/aapt package -m -J /Users/X/Library/Caches/IntelliJIdea12/compile-server/_temp_/android_apt_output5946629892214876299tmp -M /Users/X/Code/projectName/AndroidManifest.xml -S /Users/X/Code/projectName/res -I /Users/X/Source/Android Eclipse/sdk/platforms/android-17/android.jar" execution failed with exit code 139
При удалении файла приложения для компиляции штраф снова. Я могу легко обойти это, изменив тип ресурса с id на строку или другой допустимый ресурс. Но я действительно хотел бы узнать, почему эта ошибка происходит. Любая помощь с этим будет принята с благодарностью.
При доступе к этим идентификаторам в других xml-файлах вы все еще используете знак плюса? ('' @ + Id/newLayoutId "). Если это так, избавитесь от него. – Geobits
Нет, я не был, единственное место, где я буду ссылаться на него, будет через java-код, используя объект R aka R.id.newLayoutId Я получаю ошибку компиляции, даже если ссылка на элемент вообще отсутствует –