diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/aapt/AaptAssets.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/tools/aapt/AaptAssets.cpp b/tools/aapt/AaptAssets.cpp index eead68c..b44e2d1 100644 --- a/tools/aapt/AaptAssets.cpp +++ b/tools/aapt/AaptAssets.cpp @@ -561,15 +561,17 @@ status_t AaptGroup::addFile(const sp<AaptFile>& file, const bool overwriteDuplic return NO_ERROR; } -#if 0 - printf("Error adding file %s: group %s already exists in leaf=%s path=%s\n", - file->getSourceFile().string(), - file->getGroupEntry().toDirName(String8()).string(), - mLeaf.string(), mPath.string()); -#endif - - SourcePos(file->getSourceFile(), -1).error("Duplicate file.\n%s: Original is here.", - getPrintableSource().string()); + // Check if the version is automatically applied. This is a common source of + // error. + ConfigDescription withoutVersion = file->getGroupEntry().toParams(); + withoutVersion.version = 0; + AaptConfig::applyVersionForCompatibility(&withoutVersion); + + const sp<AaptFile>& originalFile = mFiles.valueAt(index); + SourcePos(file->getSourceFile(), -1) + .error("Duplicate file.\n%s: Original is here. %s", + originalFile->getPrintableSource().string(), + (withoutVersion.version != 0) ? "The version qualifier may be implied." : ""); return UNKNOWN_ERROR; } |