我有一个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更改为字符串或其他有效资源来轻松解决此问题。但我真的想知道为什么会发生这种错误。 对此的任何帮助将不胜感激。
答案 0 :(得分:1)
同样在这里,但我的退出代码是138。
android-apt-compiler:命令 &#34; /Users/robertwang/Dev/adt-bundle-mac/sdk/build-tools/19.0.0/aapt package -m --auto-add-overlay --extra-packages com.evernote.androidsdk:com.actionbarsherlock:com.origamilabs.library -J / Users / robertwang / Library / Caches / IdeaIC12 / compile-server / temp / android_apt_output9115494255397050428tmp -M /Users/robertwang/Dropbox/Work/Projects/HomeNeatly-AndroidKickstartr/HomeNeatly/AndroidManifest.xml -S / Users / robertwang / Dropbox / Work / Projects / HomeNeatly-AndroidKickstartr / HomeNeatly / res -S / Users / robertwang / Dropbox / Work / Projects / HomeNeatly-AndroidKickstartr / HomeNeatly / ext-libs / evernote_library / res -S / Users / robertwang / Dropbox / Work / Projects / 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,它也编译好了!真的不知道里面发生了什么!
答案 1 :(得分:0)
退出代码139似乎与此文件无关;话虽如此,我已经为“139”甚至“退出代码”而无法找到它。我已经在一个正在进行的工作项目中创建了文件(res / values / test.xml),它编译好了。
底线:我无法找到此错误与该文件的关系
值得一提的是,我在网上看到了这个退出代码的引用,你并不孤单。 ......我发现有人已经给你+1了: - )