X-Git-Url: https://git.saurik.com/android/aapt.git/blobdiff_plain/a30ccc71f2f3fde35e8e644e5beac842cdb23da6..f347b212f43c46efa93fc5d5966d38c4763337ee:/Package.cpp?ds=sidebyside diff --git a/Package.cpp b/Package.cpp index 5d9e140..999a5cf 100644 --- a/Package.cpp +++ b/Package.cpp @@ -5,9 +5,12 @@ // #include "Main.h" #include "AaptAssets.h" +#include "ResourceTable.h" -#include -#include +#include +#include +#include +#include #include #include @@ -165,7 +168,7 @@ status_t writeAPK(Bundle* bundle, const sp& assets, delete zip; // close the file so we can remove it in Win32 zip = NULL; if (unlink(outputFile.string()) != 0) { - fprintf(stderr, "WARNING: could not unlink '%s'\n", outputFile.string()); + fprintf(stderr, "warning: could not unlink '%s'\n", outputFile.string()); } } @@ -178,7 +181,7 @@ bail: printf("Removing %s due to earlier failures\n", outputFile.string()); } if (unlink(outputFile.string()) != 0) { - fprintf(stderr, "WARNING: could not unlink '%s'\n", outputFile.string()); + fprintf(stderr, "warning: could not unlink '%s'\n", outputFile.string()); } } @@ -190,11 +193,20 @@ bail: ssize_t processAssets(Bundle* bundle, ZipFile* zip, const sp& assets) { + ResourceFilter filter; + status_t status = filter.parse(bundle->getConfigurations()); + if (status != NO_ERROR) { + return -1; + } + ssize_t count = 0; const size_t N = assets->getGroupEntries().size(); for (size_t i=0; igetGroupEntries()[i]; + if (!filter.match(ge.toParams())) { + continue; + } ssize_t res = processAssets(bundle, zip, assets, ge); if (res < 0) { return res; @@ -271,7 +283,7 @@ bool processFile(Bundle* bundle, ZipFile* zip, if (fileNameLen > excludeExtensionLen && (0 == strcmp(storageName.string() + (fileNameLen - excludeExtensionLen), kExcludeExtension))) { - fprintf(stderr, "WARNING: '%s' not added to Zip\n", storageName.string()); + fprintf(stderr, "warning: '%s' not added to Zip\n", storageName.string()); return true; }