Android Studio版本在" processDebugResources"使用9补丁图像时

时间:2016-01-27 07:16:15

标签: android android-studio build-error

我正在关注" The Big Nerd Ranch的Android编程指南"本书(第2版)和特定章节(第21章)中,他们要求您为某些图像资源使用9补丁图像。在那之前,我编写的应用程序BeatBox工作得很好,编译时没有错误。

但是,当我继续使用9补丁图像替换一些drawable时,我遇到了构建错误,我无法构建应用程序。以下是我得到的错误:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"...>
    <uses-sdk android:minSdkVersion="14" />
    <uses-permission android:name="android.permission.READ_CALENDAR" />
    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
    ...
</manifest>

我已按照本书中提供的确切说明进行操作,因此我认为结果应该没有错误。知道我为什么会遇到这个错误吗?

2 个答案:

答案 0 :(得分:3)

首先为你提供一点点理智提升

AAPT与将资源捆绑到APK完全相关。一些非常详细的here包括(IMO)显示不同构建步骤的最佳图表。所以你的问题aapt.exe'' finished with non-zero exit value 1几乎可以肯定是由你改变9补丁造成的。没有必要回到原点,试图记住你可能已经改变了什么,并最终拔掉你所有的头发。

验证

我无法通过直接运行任何根Gradle任务(:app:generateDebugSources:app:generateDebugAndroidTestSources)来复制您的问题。我也无法通过仅运行失败的Gradle任务来复制问题::app:processDebugResources

不是由按需配置

引起的

问题不太可能是由于按需配置失败导致的。#34;线路&#34;按需配置是一项孵化功能。&#34;如果您的构建成功,也会打印出来。

思想

看起来您正在使用最新的构建工具(撰写本文时为23.0.2)versions,这很好。

你没有列出它,但我猜你也在使用最新版本的Android-Gradle插件(因为它们都是在同一时间出来的,Android Studio默认使用最新)。 more info

我建议回过头来看看我们要求你实施的第一个Drawable:ShapeDrawable并确认这是有效的,然后转到下一个。这有助于查明问题所在。

如果您可以提供有助于您的样本的链接。

将来,与Gradle相关的问题,您可以自己运行Gradle任务(如上所述)并添加--info标志。从命令行或&#34;终端&#34;在Android Studio中运行(在您的情况下):

./gradlew app:generateDebugSources --info

最后,无论你发现什么,请回到这里。您所看到的问题与我们的书籍没有直接关系,您的回答将有助于其他人。

答案 1 :(得分:2)

我遇到了同样的问题,我用以下方法解决了这个问题:

./gradlew clean