我有一个可以编译和正常运行的android应用程序。最近,我想添加一个ID资源,该资源可用于动态分配ID给我即时膨胀的布局。为此,我在/ res / values /中创建了一个名为ids.xml的xml文件(文件名无关紧要,因为我尝试了其他名称)

文件内容非常简单,大致如下:

<?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更改为字符串或其他有效资源来轻松解决此问题。但是我真的很想知道为什么会发生此错误。
任何帮助,将不胜感激。

最佳答案

同样在这里,但我的退出代码是138。


  android-apt-compiler:命令
  “ /用户/robertwang/Dev/adt-bundle-mac/sdk/build-tools/19.0.0/aapt
  软件包-m-自动添加覆盖-额外的软件包
  com.evernote.androidsdk:com.actionbarsherlock:com.origamilabs.library
  -J / Users / robertwang / Library / Caches / IdeaIC12 / compile-server / temp / android_apt_output9115494255397050428tmp
  -M /用户/ robertwang / Dropbox /工作/项目/HomeNeatly-AndroidKickstartr/HomeNeatly/AndroidManifest.xml
  -S /用户/ robertwang / Dropbox /工作/项目/ HomeNeatly-AndroidKickstartr / HomeNeatly / res
  -S /用户/ robertwang / Dropbox /工作/项目/ HomeNeatly-AndroidKickstartr / HomeNeatly / ext-libs / evernote_library / res
  -S /用户/ robertwang / Dropbox /工作/项目/ HomeNeatly-AndroidKickstartr / actionbarsherlock / res
  -S / Users / robertwang / Dropbox / Code / github / StaggeredGridView / res -I /Users/robertwang/Dev/adt-bundle-mac/sdk/platforms/android-17/android.jar“
  执行失败,退出代码为138


因此,我在我的项目中查找了我创建的最后一个xml文件,删除menu.xml,然后全部编译正常。

但是我尝试用不同的名称添加回相同的xml,它也编译良好!真的不知道里面发生了什么!

10-07 13:17