MuntashirAkon/AppManager · error · IOException
Unknown/unsupported entries detected.
Error message
Unknown/unsupported entries detected.
What it means
After categorizing all TAR entries, AndroidBackupExtractor throws IOException if any entries landed in the CAT_UNK (unknown) category, meaning the archive contains files the extractor does not know how to place (e.g. unexpected top-level files in the .ab).
Solutions
- Update App Manager to a build that recognizes the new entry types
- Use the original tool that created the backup to restore it
- Inspect the logged 'Unknown entries' warning to identify and remove unsupported files
- Regenerate the backup with a compatible version
Example fix
// before
new AndroidBackupExtractor(ab, dest, pkg, false).extract(); // fails on unknown entries
// after (pre-convert and inspect entries)
try (TarArchiveInputStream tis = toTar(ab)) {
TarArchiveEntry e;
while ((e = tis.getNextTarEntry()) != null) {
if (!isKnownCategory(e.getName())) {
Log.w(TAG, "Skipping unsupported entry " + e.getName());
}
}
} Defensive patterns
Strategy: try-catch
Validate before calling
// Pre-scan converted TAR for entries outside known categories
while ((entry = tis.getNextTarEntry()) != null) {
if (!matchesKnownCategory(entry.getName())) unknown.add(entry.getName());
}
if (!unknown.isEmpty()) Log.w(TAG, "Unsupported entries: " + unknown); Try / catch
try {
extractor.extract();
} catch (IOException e) {
if (e.getMessage().contains("Unknown/unsupported entries")) {
Log.e(TAG, "Archive uses entry types this build cannot place; update App Manager", e);
} else throw e;
} Prevention
- Keep App Manager updated to match backup format versions
- Restore with the same tool that created the backup
- Review the logged 'Unknown entries' warning to identify offending paths
- Avoid hand-repacking .ab archives
When it happens
Trigger: An .ab backup containing entries outside the recognized categories (apk, data, device-protected data, obb, etc.), such as extra root-level files added by third-party backup tools or archive tampering.
Common situations: Backups generated by other tools with a different layout; manually edited/repacked .ab files; newer App Manager backups with entry types an older extractor build doesn't recognize (version skew).
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- APK files backup is requested but no APK files have been…
- ADB restore is requested but there are no .ab files.
- An uninstallation was necessary but couldn't perform it.
- Android System (android) cannot be backed up.
- Android System (android) cannot be restored.
AI-assisted analysis of MuntashirAkon/AppManager@0152f468fc (2026-09-12).
Data as JSON: /api/errors/f59938b12297270c.
Report an issue: GitHub.
Appendix: source
Thrown at app/src/main/java/io/github/muntashirakon/AppManager/backup/adb/AndroidBackupExtractor.java:127
// Categorize and build TarArchiveEntry
int category = getCategory(filename);
if (category == CAT_UNK && filename.equals(Constants.BACKUP_MANIFEST_FILENAME)) {
// Ignore manifest file
continue;
}
TarArchiveEntry targetEntry = getTargetArchiveEntry(entry, filename);
List<TargetTarEntry> targetTarEntries = mCategoryTargetEntriesMap.get(category);
if (targetTarEntries == null) {
targetTarEntries = new ArrayList<>();
mCategoryTargetEntriesMap.put(category, targetTarEntries);
}
targetTarEntries.add(new TargetTarEntry(file, filename, category, targetEntry));
}
}
// Validate UNK entries
if (mCategoryTargetEntriesMap.get(CAT_UNK) != null) {
Log.w(TAG, "Unknown entries: " + mCategoryTargetEntriesMap.get(CAT_UNK));
throw new IOException("Unknown/unsupported entries detected.");
}
}
@Override
public void close() {
for (Path file : mFilesToBeDeleted) {
file.delete();
}
}
@Nullable
public Path[] getSourceFiles(@NonNull String extension, @TarUtils.TarType String tarType)
throws IOException {
return getFiles(CAT_SRC, 0, extension, tarType);
}
@Nullable
public Path[] getInternalCeDataFiles(int dataIndex, @NonNull String extension,View on GitHub (pinned to 0152f468fc)