diff --git a/src/main/java/net/dongliu/apk/parser/parser/ResourceTableParser.java b/src/main/java/net/dongliu/apk/parser/parser/ResourceTableParser.java index a30d3e0..70bc2a9 100644 --- a/src/main/java/net/dongliu/apk/parser/parser/ResourceTableParser.java +++ b/src/main/java/net/dongliu/apk/parser/parser/ResourceTableParser.java @@ -57,11 +57,13 @@ public void parse() { resourceTable = new ResourceTable(); resourceTable.setStringPool(stringPool); - PackageHeader packageHeader = (PackageHeader) readChunkHeader(); - for (int i = 0; i < resourceTableHeader.getPackageCount(); i++) { - Pair pair = readPackage(packageHeader); - resourceTable.addPackage(pair.getLeft()); - packageHeader = pair.getRight(); + if (resourceTableHeader.getPackageCount() != 0) { + PackageHeader packageHeader = (PackageHeader) readChunkHeader(); + for (int i = 0; i < resourceTableHeader.getPackageCount(); i++) { + Pair pair = readPackage(packageHeader); + resourceTable.addPackage(pair.getLeft()); + packageHeader = pair.getRight(); + } } }