我最近将我的工作区转移到另一个工作站,然后显示错误“aapt.exe已停止工作”。
我已经阅读了一些解答来取消选中自动构建,更新我的SDK,或者将Android Build Output设置为Normal然后崩溃将停止,但事实并非如此。我还删除了我的工作区的.metadata,并基本上将Eclipse的首选项再次设置为默认值。我从另一个工作站复制了aapt.exe并替换了我的,这个日志出现了:
[2013-05-21 14:36:42 - example] ERROR: Unknown option '--output-text-symbols'
[2013-05-21 14:36:42 - example] Android Asset Packaging Tool
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] Usage:
[2013-05-21 14:36:42 - example] aapt l[ist] [-v] [-a] file.{zip,jar,apk}
[2013-05-21 14:36:42 - example] List contents of Zip-compatible archive.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
[2013-05-21 14:36:42 - example] badging Print the label and icon for the app declared in APK.
[2013-05-21 14:36:42 - example] permissions Print the permissions from the APK.
[2013-05-21 14:36:42 - example] resources Print the resource table from the APK.
[2013-05-21 14:36:42 - example] configurations Print the configurations in the APK.
[2013-05-21 14:36:42 - example] xmltree Print the compiled xmls in the given assets.
[2013-05-21 14:36:42 - example] xmlstrings Print the strings of the given compiled xml assets.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
[2013-05-21 14:36:42 - example] [-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \
[2013-05-21 14:36:42 - example] [--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
[2013-05-21 14:36:42 - example] [--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
[2013-05-21 14:36:42 - example] [--rename-manifest-package PACKAGE] \
[2013-05-21 14:36:42 - example] [--rename-instrumentation-target-package PACKAGE] \
[2013-05-21 14:36:42 - example] [--utf16] [--auto-add-overlay] \
[2013-05-21 14:36:42 - example] [--max-res-version VAL] \
[2013-05-21 14:36:42 - example] [-I base-package [-I base-package ...]] \
[2013-05-21 14:36:42 - example] [-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \
[2013-05-21 14:36:42 - example] [-S resource-sources [-S resource-sources ...]] \
[2013-05-21 14:36:42 - example] [-F apk-file] [-J R-file-dir] \
[2013-05-21 14:36:42 - example] [--product product1,product2,...] \
[2013-05-21 14:36:42 - example] [-c CONFIGS] [--preferred-configurations CONFIGS] \
[2013-05-21 14:36:42 - example] [-o] \
[2013-05-21 14:36:42 - example] [raw-files-dir [raw-files-dir] ...]
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] Package the android resources. It will read assets and resources that are
[2013-05-21 14:36:42 - example] supplied with the -M -A -S or raw-files-dir arguments. The -J -P -F and -R
[2013-05-21 14:36:42 - example] options control which files are output.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
[2013-05-21 14:36:42 - example] Delete specified files from Zip-compatible archive.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
[2013-05-21 14:36:42 - example] Add specified files to Zip-compatible archive.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt c[runch] [-v] -S resource-sources ... -C output-folder ...
[2013-05-21 14:36:42 - example] Do PNG preprocessing and store the results in output folder.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] aapt v[ersion]
[2013-05-21 14:36:42 - example] Print program version.
[2013-05-21 14:36:42 - example]
[2013-05-21 14:36:42 - example] Modifiers:
[2013-05-21 14:36:42 - example] -a print Android-specific data (resources, manifest) when listing
[2013-05-21 14:36:42 - example] -c specify which configurations to include. The default is all
[2013-05-21 14:36:42 - example] configurations. The value of the parameter should be a comma
[2013-05-21 14:36:42 - example] separated list of configuration values. Locales should be specified
[2013-05-21 14:36:42 - example] as either a language or language-region pair. Some examples:
[2013-05-21 14:36:42 - example] en
[2013-05-21 14:36:42 - example] port,en
[2013-05-21 14:36:42 - example] port,land,en_US
[2013-05-21 14:36:42 - example] If you put the special locale, zz_ZZ on the list, it will perform
[2013-05-21 14:36:42 - example] pseudolocalization on the default locale, modifying all of the
[2013-05-21 14:36:42 - example] strings so you can look for strings that missed the
[2013-05-21 14:36:42 - example] internationalization process. For example:
[2013-05-21 14:36:42 - example] port,land,zz_ZZ
[2013-05-21 14:36:42 - example] -d one or more device assets to include, separated by commas
[2013-05-21 14:36:42 - example] -f force overwrite of existing files
[2013-05-21 14:36:42 - example] -g specify a pixel tolerance to force images to grayscale, default 0
[2013-05-21 14:36:42 - example] -j specify a jar or zip file containing classes to include
[2013-05-21 14:36:42 - example] -k junk path of file(s) added
[2013-05-21 14:36:42 - example] -m make package directories under location specified by -J
[2013-05-21 14:36:42 - example] -o create overlay package (ie only resources; expects <overlay-package> in manifest)
[2013-05-21 14:36:42 - example] -u update existing packages (add new, replace older, remove deleted files)
[2013-05-21 14:36:42 - example] -v verbose output
[2013-05-21 14:36:42 - example] -x create extending (non-application) resource IDs
[2013-05-21 14:36:42 - example] -z require localization of resource attributes marked with
[2013-05-21 14:36:42 - example] localization="suggested"
[2013-05-21 14:36:42 - example] -A additional directory in which to find raw asset files
[2013-05-21 14:36:42 - example] -G A file to output proguard options into.
[2013-05-21 14:36:42 - example] -F specify the apk file to output
[2013-05-21 14:36:42 - example] -I add an existing package to base include set
[2013-05-21 14:36:42 - example] -J specify where to output R.java resource constant definitions
[2013-05-21 14:36:42 - example] -M specify full path to AndroidManifest.xml to include in zip
[2013-05-21 14:36:42 - example] -P specify where to output public resource definitions
[2013-05-21 14:36:42 - example] -S directory in which to find resources. Multiple directories will be scanned
[2013-05-21 14:36:42 - example] and the first match found (left to right) will take precedence.
[2013-05-21 14:36:42 - example] -0 specifies an additional extension for which such files will not
[2013-05-21 14:36:42 - example] be stored compressed in the .apk. An empty string means to not
[2013-05-21 14:36:42 - example] compress any files at all.
[2013-05-21 14:36:42 - example] --debug-mode
[2013-05-21 14:36:42 - example] inserts android:debuggable="true" in to the application node of the
[2013-05-21 14:36:42 - example] manifest, making the application debuggable even on production devices.
[2013-05-21 14:36:42 - example] --min-sdk-version
[2013-05-21 14:36:42 - example] inserts android:minSdkVersion in to manifest. If the version is 7 or
[2013-05-21 14:36:42 - example] higher, the default encoding for resources will be in UTF-8.
[2013-05-21 14:36:42 - example] --target-sdk-version
[2013-05-21 14:36:42 - example] inserts android:targetSdkVersion in to manifest.
[2013-05-21 14:36:42 - example] --max-res-version
[2013-05-21 14:36:42 - example] ignores versioned resource directories above the given value.
[2013-05-21 14:36:42 - example] --values
[2013-05-21 14:36:42 - example] when used with "dump resources" also includes resource values.
[2013-05-21 14:36:42 - example] --version-code
[2013-05-21 14:36:42 - example] inserts android:versionCode in to manifest.
[2013-05-21 14:36:42 - example] --version-name
[2013-05-21 14:36:42 - example] inserts android:versionName in to manifest.
[2013-05-21 14:36:42 - example] --custom-package
[2013-05-21 14:36:42 - example] generates R.java into a different package.
[2013-05-21 14:36:42 - example] --extra-packages
[2013-05-21 14:36:42 - example] generate R.java for libraries. Separate libraries with ':'.
[2013-05-21 14:36:42 - example] --generate-dependencies
[2013-05-21 14:36:42 - example] generate dependency files in the same directories for R.java and resource package
[2013-05-21 14:36:42 - example] --auto-add-overlay
[2013-05-21 14:36:42 - example] Automatically add resources that are only in overlays.
[2013-05-21 14:36:42 - example] --preferred-configurations
[2013-05-21 14:36:42 - example] Like the -c option for filtering out unneeded configurations, but
[2013-05-21 14:36:42 - example] only expresses a preference. If there is no resource available with
[2013-05-21 14:36:42 - example] the preferred configuration then it will not be stripped.
[2013-05-21 14:36:42 - example] --rename-manifest-package
[2013-05-21 14:36:42 - example] Rewrite the manifest so that its package name is the package name
[2013-05-21 14:36:42 - example] given here. Relative class names (for example .Foo) will be
[2013-05-21 14:36:42 - example] changed to absolute names with the old package so that the code
[2013-05-21 14:36:42 - example] does not need to change.
[2013-05-21 14:36:42 - example] --rename-instrumentation-target-package
[2013-05-21 14:36:42 - example] Rewrite the manifest so that all of its instrumentation
[2013-05-21 14:36:42 - example] components target the given package. Useful when used in
[2013-05-21 14:36:42 - example] conjunction with --rename-manifest-package to fix tests against
[2013-05-21 14:36:42 - example] a package that has been renamed.
[2013-05-21 14:36:42 - example] --product
[2013-05-21 14:36:42 - example] Specifies which variant to choose for strings that have
[2013-05-21 14:36:42 - example] product variants
[2013-05-21 14:36:42 - example] --utf16
[2013-05-21 14:36:42 - example] changes default encoding for resources to UTF-16. Only useful when API
[2013-05-21 14:36:42 - example] level is set to 7 or higher where the default encoding is UTF-8.
[2013-05-21 14:36:42 - example] --non-constant-id
[2013-05-21 14:36:42 - example] Make the resources ID non constant. This is required to make an R java class
[2013-05-21 14:36:42 - example] that does not contain the final value but is used to make reusable compiled
[2013-05-21 14:36:42 - example] libraries that need to access resources.
[2013-05-21 14:36:42 - example] --ignore-assets
[2013-05-21 14:36:42 - example] Assets to be ignored. Default pattern is:
[2013-05-21 14:36:42 - example] !.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~
基本上,我的项目的src文件有关于R的错误,因为aapt.exe崩溃并且无法生成R,基于此link。
答案 0 :(得分:22)
从像@ + id这样的样式中删除id,然后再次构建你获得成功...
<item name="android:id">@+id/calender</item>
答案 1 :(得分:5)
当您定义一个字符串或任何不存在的资源并且aapt.exe未能检测到该资源的不可用性时会发生这种情况
示例:
<item
android:id="@+id/action_reply"
android:orderInCategory="100"
android:showAsAction="always"
android:icon="@drawable/ic_action_reply"
android:title="@string/action_reply"/>
字符串action_reply未在strings.xml中定义,并且ADT无法检测到,aapt.exe停止工作
答案 2 :(得分:3)
对我来说问题出在菜单xml文件
中我只是用+ id更改了id:
<item
android:id="@id/item_reset"
android:title="Reset"
android:showAsAction="ifRoom"/>
到
<item
android:id="@+id/item_reset"
android:title="Reset"
android:showAsAction="ifRoom"/>
答案 3 :(得分:1)
将图片图标添加到操作栏时出现此错误。
我通过添加.png图片而非.jpg来解决此问题。
答案 4 :(得分:0)
我得到了“aapt.exe停止工作”,因为在/ res / values文件夹中存储在.xml文件中的html代码中没有转义特殊字符。
因此,请尝试转义字符串中的特殊字符(@ - &gt; \ @,“ - &gt; \”等)
答案 5 :(得分:0)
对我来说,问题出在这些问题上:
android:title="@android:string/chat"
我换了这个:
android:title="@string/chat"
答案 6 :(得分:0)
它可以是在其他布局中使用的字符串,您将其删除。
答案 7 :(得分:0)
可能是由于您的R.menu.your_layout.xml
中的某些错误答案 8 :(得分:0)
我通过从可绘制对象中删除高清图片解决了这个问题