AAPT2: Error on uncompiled XML or PNG files in link phase

Incorrectly passing text XML and unprocessed PNG files to
the AAPT2 link phase should raise an error.

Test: manual incorrect invocation of aapt2
Change-Id: Iab47f99bc378b5d1c4f4d87098f08243b9a4dc6a
This commit is contained in:
Adam Lesinski
2016-10-20 14:38:23 -07:00
parent 011cef54ee
commit 6a396c1abb

View File

@@ -1299,6 +1299,17 @@ class LinkCommand {
}
}
return true;
} else if (util::stringEndsWith(src.path, ".xml") ||
util::stringEndsWith(src.path, ".png")) {
// Since AAPT compiles these file types and appends .flat to them, seeing
// their raw extensions is a sign that they weren't compiled.
const StringPiece fileType =
util::stringEndsWith(src.path, ".xml") ? "XML" : "PNG";
mContext->getDiagnostics()->error(DiagMessage(src)
<< "uncompiled " << fileType
<< " file passed as argument. Must be "
"compiled first into .flat file.");
return false;
}
// Ignore non .flat files. This could be classes.dex or something else that